50
Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Embed Size (px)

Citation preview

Page 1: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Maestría en EconomíaTaller: Introducción al lenguaje R

Sesión 8: Gráficos básicos en R

Profesor:

Noé Becerra Rodríguez

3 de octubre 2013

Page 2: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Contenido

• Repaso sesión 7

• Tarea sesión 7

• Gráficos básicos en R (continuación)

2

Page 3: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Contenido

• Repaso sesión 7

• Tarea sesión 7

• Gráficos básicos en R (continuación)

3

Page 4: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Repaso sesión 7

Tres nuevos objetos en R: listas, factores, dataframes

Manipulación o indexación de objetos con [ , [[ y $

Operadores lógicos (<, >, >=, <=, ==, !=, |, &)

Explorar algunas bases de datos de R, data( ), names( ),

head ( ), airquality[ ]

Gráficos de dispersión y los argumentos más comunes4

Page 5: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

5

Page 6: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Contenido

• Repaso sesión 7

• Tarea sesión 7

• Gráficos básicos en R (continuación)

6

Page 7: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Tarea sesión 3

options (digits=3)

var1 = round (rnorm(100,26,2.5))

set.seed (123)

var2 = rnorm (100,7,1.25)

var3 = c (rep (1,30), rep (2,40), rep (3,30))

var4 = c (rep (0,75), rep (1,25))

fv3 = factor (var3, levels=1:3, labels = c ("soltero", "casado", "divorciado"))

fv4 = factor (var4, levels = 0:1, labels = c ("si", "no")) 7

Page 8: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Tarea sesión 3

base = data.frame (var1, var2, fv3, fv4)

colnames (base) = c ("edad", "examen", "e_civil", "internet")

base [1:6,]

lapply (base, mean); lapply (base, sd)

lapply (base, summary)

names (base)

head( base)

8

Page 9: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Tarea sesión 3# a) Determinar NAs (missing values) en la base y por variable

sum(is.na(airquality))

names(airquality)

sum(is.na(airquality$Ozone))

sum(is.na(airquality$Solar.R))

sum(is.na(airquality$Wind))

sum(is.na(airquality$Temp))

sum(is.na(airquality$Month))

sum(is.na(airquality$Day)) 9

Page 10: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Tarea sesión 3

# b) Encontrar los valores de “Ozone” mayores que 100

airquality$Ozone[airquality$Ozone>100]

# c) Hallar medidas de “Temp” menores de 79

airquality$Temp[airquality$Temp<79]

# d) Encontrar cuantos casos completos se tienen en la base

sum(complete.cases(airquality))

10

Page 11: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

11

Page 12: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Contenido

• Repaso sesión 3

• Tarea sesión 3

• Gráficos básicos en R (continuación)

• Importar y exportar datos12

Page 13: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Base “datos” para las gráficas

ingreso = c(1,4,2,3,2,3,4,3,2,2,3,1,2,2,2)

fingreso = factor (ingreso, levels=1:4, labels= c ("bajo", "medio", "alto", "muy-alto"))

género = c(2,1,1,2,2,2,1,2,1,1,2,2,1,1,2)

fgénero = factor(género, levels=1:2, labels = c("mujer", "hombre"))

peso = c(60, 72, 57, 90, 95, 72, 65, 76, 61, 92, 98, 77, 66, 75, 59)

altura = c(1.75, 1.80, 1.65, 1.90, 1.74, 1.91, 1.77, 1.83, 1.69, 1.95, 1.78, 1.88,1.73, 1.79, 1.61)

datos = data.frame (peso, altura, fgénero, fingreso)

datos13

Page 14: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficos en R - barplot( )

Genera una gráfica de barras para datos tipo factor

Las opciones más comunes que se manejan son:

names.arg: etiquetas de las barras, por defecto los toma de la base

horiz: hacer la barras horizontales (TRUE/FALSE)

main, xlim, xlab ... Argumentos similares al plot ( )

14

Page 15: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejemplos - barplot( ) 1variable

conteo=table(datos$fingreso)

barplot(conteo)

barplot(conteo, main="Gráfica de barras del ingreso")

barplot (conteo, main="Gráfica de barras del ingreso", xlab = "categoría de ingreso", ylab = "cant. individuos")

barplot(conteo, main="Gráfica de barras del ingreso",

xlab="categoría de ingreso", ylab="cant. de individuos", col="green")

barplot(conteo, main="Gráfica de barras del ingreso",

xlab="cant. de individuos", ylab="categoría de ingreso", col="green", horiz=T)

Dar zoom a la última gráfica 15

?

Page 16: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejemplos - barplot( ) 2 variables

contador = table(datos$fingreso, datos$fgénero)

barplot(contador)

barplot(contador, main="Gráfico de barras ingreso y género")

barplot(contador, main="Gráfico de barras ingreso y género",

xlab="género", ylab=“cant. de individuos", col=c("red", "blue", "green", "gray"))

16

Page 17: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejemplos - barplot( ) 2 variables

par(mfrow=c(1,2))

barplot(contador, main="Gráfico de barras ingreso y género",

xlab="género", ylab=“cant. de individuos", border="white", col=c("red", "blue", "green", "gray"), legend=rownames(contador))

barplot(contador, main="Gráfico de barras ingreso y género",

xlab=“cantidad de individuos", ylab="género", horiz=T, col=c("red", "blue", "green", "gray"), legend=rownames(contador))

par(mfrow=c(1,1))

17

Page 18: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

18

Page 19: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejercicios con gráficos - barplot( )

a) Usando la base de datos “mtcars”, hacer una gráfica

de barras para la variable “cyl”. Darle color y poner título

y subtítulo así como nombre a los ejes

b) Usando la misma base realizar una gráfica de barras

con las variables “am” y “cyl”. Ponga color, títulos,

nombres a los ejes. Añada una leyenda

19

Page 20: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - hist( )

La función hist () genera histogramas, la variable debe ser númerica

Los argumentos más comunes son:

breaks: especifica el número de rectangulos

main, xlim, xlab etc. funcionan como en la gráfica plot( )

20

Page 21: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - hist( )

data(airquality); head(airquality)

hist(airquality$Ozone, breaks="Sturges")

hist(airquality$Ozone, breaks="Sturges", col="limegreen",

main="Histograma sobre Ozono")

hist(airquality$Ozone, breaks="Sturges", col="limegreen", main="Histograma sobre Ozono", border="gray40", xlab="cantidad de Ozono", ylab="frecuencia")

hist(airquality$Ozone, breaks="Sturges", col="limegreen", col.sub="gray60", main="Histograma sobre Ozono", border="gray40", sub="Datos: airquality", xlab="cantidad de Ozono", ylab="frecuencia")

21

Page 22: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - hist( )

hist(airquality$Ozone, breaks="Sturges", col="limegreen", col.sub="gray60", main="Histograma sobre Ozono", border="gray60", sub="Datos: airquality", xlab="cantidad de Ozono", ylab="frecuencia")

22

Page 23: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

23

Page 24: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejercicios con gráficos - hist( )

Usando los datos de la base “airquality” construir dos

histogramas: uno para la variable “Temp” y otro para

“Wind”. Utilizar parámetros para color, título principal,

subtítulo y etiquetas para los ejes

24

Page 25: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R – boxplot( )Las gráficas de boxplot ( ) pueden ser creadas para variables

individuales o para un grupo de variables.

Los argumentos principales son:

X~Y : fórmula que indica las variables a graficar

data =: indica el dataframe de donde tomar los datos

varwidth = TRUE: gráfica proporcionalmente las cajas

horiz = TRUE: para invertir la orientación de los ejes

outline = TRUE: muestra los ouliers

main, xlabel, etc. Funcional igual que la función plot( )

25

Page 26: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - boxplot( ) 1 variable# Boxplot para una sola variable

data(cars)

names(mtcars)

boxplot(mtcars$mpg, col="gray", main="Diagrama de caja, millas por galón", col.sub="gray40", sub="Datos de 1984")

26

Page 27: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - boxplot( ) 2 variables

boxplot(mtcars$mpg ~ mtcars$cyl)

boxplot(mtcars$mpg ~ mtcars$cyl, col="green", main="Gráficos de cajas mpg / cilindros")

boxplot(mtcars$mpg ~ mtcars$cyl, col="green", main="Gráficos de cajas mpg / cilindros", xlab="número de cilindros", ylab="millas por galón")

boxplot(mtcars$mpg ~ mtcars$cyl, col=rainbow(3), main="Gráficos de cajas mpg / cilindros", xlab="número de cilindros", ylab="millas por galón", col.sub="gray40", sub="Datos 1974 Motor Trend US")

27

Page 28: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - boxplot( ) 2 variablesboxplot(mtcars$mpg ~ mtcars$cyl, col=2:4, main="Gráficos de cajas mpg /

cilindros", xlab="número de cilindros", ylab="millas por galón", col.sub="gray40", sub="Datos 1974 Motor Trend US", varwidth=T)

boxplot(mtcars$mpg ~ mtcars$cyl, col=c("green", "gray", "blue"), main="Gráficos de cajas mpg / cilindros", xlab="millas por galón", ylab="número de cilindros", col.sub="gray40", sub="Datos 1974 Motor Trend US", varwidth=T, horizontal=T)

28

Page 29: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

29

Page 30: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejercicios con gráficos - boxplot( )

Elaborar un boxplot individuales para las siguiente

variables: “wt”, “hp”, incluyendo varios parámetros

usando la base “mtcars”

Generar un boxplot para el par de variables: “Ozone” y

“Month” de la base “airquality”. Primero de forma

sencilla y luego incrementando el número de

argumentos

30

Page 31: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Gráficas en R - Pie

Las gráficas de pastel no son muy recomendables ya que es

más fácil percibir la longitud que el volumen

Las opciones de pie( ) incluyen

x: vector indicando el área de cada sección

labels: vector de cadena para los nombres de las secciones

radius: determina el radio del círculo (0.1 a 1)

main, col, etc. se apican igual que en la función plot( )

31

Page 32: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejemplos en R - pie( )Gráficos de Pastel simple

secciones=c(10,12,4,16,8)

etiquetas=c("Italia", "Inglaterra", "Australia", "Alemania", "Francia")

pie(secciones, etiquetas, main="Gráfico de pastel, PIB Países varios")

pie(secciones, etiquetas, main="Gráfico de pastel, PIB Países varios", col=rainbow(5), radius=1)

32

Page 33: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejemplos en R - pie( )Gráfica de pastel con porcentajes

secciones = c(10, 12, 4, 16, 8)

etiqueta = c("EU", "GB", "Australia", "Alemania", "Francia")

pc = round(secciones/sum(secciones)*100)

etiqueta = paste(etiqueta, pc)

etiqueta = paste(etiqueta,"%",sep=" ")

pie(secciones,labels = etiqueta, col=rainbow(5), main="Gráfica de pastel, PIB varios países", radius=1)

33

Page 34: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

34

Page 35: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejercicios pie( )Construir un objeto en R para la base siguiente. Hacer dos gráficas de pastel con los datos. Una con el conteo en bruto y otra porcentajes

35

Page 36: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Accesorios para gráficas – par( )

par(mfrow=c(x,y) modifica el área de gráficos para incluir varios gráficos en una pantalla, x indica número de renglones mientras que y son las columnas

par(mfrow=c(1,2))

boxplot(airquality$Ozone~airquality$Month, col=2:6, main="boxplot ozono por mes")

plot(airquality$Ozone, airquality$Wind, col="blue", pch=19, cex=0.75, main="Gráfico ozono vs viento")

36

Page 37: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Accesorios para gráficas – abline( )abline(x) dibuja una línea horizontal (h) o vertical (v) sobre el gráfico. Acepta

otros argumentos que impliquen una línea recta.

par(mfrow=c(1,2))

plot(airquality$Ozone, airquality$Wind, col="blue", pch=19, main="ozono vs viento", xlab="", ylab="", cex=0.75)

abline(h=10, col="red", lwd=2.5)

plot(airquality$Ozone, airquality$Temp, col="red", pch=19, main="zono vs temperatura", xlab="", ylab="", cex=0.75)

abline(v=55, col="blue", lwd=2.5)

37

Page 38: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Accesorios para gráficas – text( )text (x,y, “texto de gráfica”) permite incluir texto en las gráficas. X e Y son las

coordenadas para ubicar la leyenda

par(mfrow=c(1,1,))

plot(cars$speed, cars$dist, col="blue", pch=17,

xlab="velocidad", ylab="distancia", main="distancia de frenado")

text(8,80, "datos de 1920")

38

Page 39: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Accesorios para gráficas – lines( )El commando lines( ) permite dibujar líneas en el gráfico que no son necesariamente rectas y permite otros argumentos de objetos generados en R

cien=rnorm(1000)

hist(cien, col=3, freq=F, main=“histograma cien aleatorios”)

lines(density(cien), col=2, lwd=2)

39

Page 40: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Accesorios para gráficas – legend( )La función legend ( ) permite incorporar textos en los gráficos de manera más flexible que el comando text ()

set.seed(123)

edad = (rnorm (100, 26, 2.5)) ; exam = floor ( rnorm (100, 7, 1.25))

gen = c(rep (1, 55), rep ( 2, 45)); fgen = factor(gen, levels=1:2, labels=c("mujer", "varón"))

data = data.frame(edad, exam, fgen)

plot (data$edad, data$exam, col=data$fgen, pch=19, cex=0.5)

legend(20,10, legend=c("mujer", "varón"), col=c("black", "red"), pch=c(19), cex=c(0.75))

40

Page 41: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

41

Page 42: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejercicios - accesorios

Elegir algunas de las gráficas ya construidas y colocarlas

en un marco con cuatro secciones. En el primer renglón

dibuje una raya horizontal en la primer columna y en la

segunda una línea vertical. Ambas con diferente color y

grosor

En el segundo renglón inserte un texto explicativo corto

para la primera. Para la segunda columna poner una

legenda42

Page 43: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Contenido

• Repaso sesión 3

• Tarea sesión 3

• Gráficos básicos en R (continuación)

• Importar y exportar datos43

Page 44: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Importar / exportar datos

Casi todos los paquetes estadísticos pemiten la importación y exportación de datos desde una plataforma hacia otra

En todos los casos “datos” se refiere a la base que se generó en R y “archivo” es el nombre que se le asigna a la base de datos

# archivos para R

write.table (datos, file=“archivo.rda")

Rbase = read.table (“archivo.rda”)

# archivo tipo .txt

write.table(datos, “archivo.txt", sep="\t")

TXTbase = read.table (“archivo.txt", header = TRUE)

44

Page 45: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Importar / exportar datos

# archivos tipo .csv

write.csv(datos, file=“nombre.csv”)

CSVbase = read.csv(“nombre.csv”)

# archivos para Stata (necesario el paquete “foreign”)

require(foreign)

write.dta (datos, file="archivo.dta", convert.factor=c("labels"))

STbase=read.dta ("archivo.dta")

45

columna índice

Page 46: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

Ejercicios

Generar una base de datos de tres variables y grabarla en varios formatos. Abrir la base en la plataforma extranjera. Grabar ahora datos en una plataforma externa y luego abrirla en R.

46

Page 47: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

47

Page 48: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

TareaCon la información de la base “babies” que se encuentra en el paquete “UsingR”, generar dos gráficos de cada tipo que se revisaron en la sesión

Es necesario bajar el paquete “UsingR” y cargarlo en memoria antes de poder acceder a la base “babies”

Las variables a usar son:

sex – sexo del infante

wt – peso al nacer

race – raza del madre

age – edad de la madre

ed – nivel educativo de la madre

inc – ingreso familiar

smoke – si fuma o no la madre

48

Page 49: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

TareaLeer un poco sobre los siguientes temas:

Estadística inferencial

Regresión lineal

Bajar los paquetes “car” y “lmtest”

49

Page 50: Maestría en Economía Taller: Introducción al lenguaje R Sesión 8: Gráficos básicos en R Profesor: Noé Becerra Rodríguez 3 de octubre 2013

¿preguntas?

[email protected]

nbecerra_cursos.wordpress.com

50