La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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.

Presentaciones similares


Presentación del tema: "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."— Transcripción de la presentación:

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

2 Contenido Repaso sesión 7 Tarea sesión 7 Gráficos básicos en R (continuación) 2

3 Contenido Repaso sesión 7 Tarea sesión 7 Gráficos básicos en R (continuación) 3

4 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 comunes 4

5 ¿preguntas? 5

6 Contenido Repaso sesión 7 Tarea sesión 7 Gráficos básicos en R (continuación) 6

7 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

8 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

9 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

10 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

11 ¿preguntas? 11

12 Contenido Repaso sesión 3 Tarea sesión 3 Gráficos básicos en R (continuación) Importar y exportar datos 12

13 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) datos 13

14 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

15 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 ?

16 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

17 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

18 ¿preguntas? 18

19 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

20 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

21 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

22 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

23 ¿preguntas? 23

24 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

25 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

26 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

27 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

28 Gráficas en R - boxplot( ) 2 variables boxplot(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

29 ¿preguntas? 29

30 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

31 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

32 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

33 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

34 ¿preguntas? 34

35 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

36 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

37 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

38 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

39 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

40 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

41 ¿preguntas? 41

42 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 legenda 42

43 Contenido Repaso sesión 3 Tarea sesión 3 Gráficos básicos en R (continuación) Importar y exportar datos 43

44 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

45 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

46 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

47 ¿preguntas? 47

48 Tarea Con 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

49 Tarea Leer un poco sobre los siguientes temas: Estadística inferencial Regresión lineal Bajar los paquetes car y lmtest 49

50 ¿preguntas? nbecerra_cursos.wordpress.com 50


Descargar ppt "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."

Presentaciones similares


Anuncios Google