introducción al lenguaje r sesión 4 / gráficos en r profesor: noé becerra rodríguez 25 de junio...

36
Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Upload: blas-cura

Post on 10-Feb-2015

15 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Introducción al lenguaje R

Sesión 4 / Gráficos en R

Profesor:

Noé Becerra Rodríguez

25 de junio 2014

Page 2: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Contenido

• plot ( )

• barplot ( )

• hist ( )

• boxplot ( )

• pie ( )

• accesorios para gráficos 2

Page 3: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Gráficas en R - plot( ) Pueden ser usadas para diagramas de dispersión de dos

dimensiones (X, Y)

Toma dos vectores como datos de entrada

x = c(2,4,6,8,10)

y = c(1.5,3,7,8,15)

plot(y ~ x)

plot(y, x) # es equivalente al anterior

3

Page 4: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Argumentos básicos - plot( )

col = “ ”: color del gráfico

pch: tipo de punto (círculo, cuadrado, círculo relleno, etc.)

cex: tamaño de la figura (pch) usada en el gráfico

type = “ ”: tipo de gráfico (puntos, líneas, etc.)

main = “ ”: título del gráfico

sub = “ ”: subtítulo del gráfico

xlab, ylab = “ ”: etiquetas de los ejes X / Y

xlim, ylim = c( mínimo, máximo): rango de los ejes X / Ycol.axis, col.lab, col.main, col.sub: colores para los elementos individuales

del gráfico4

Page 5: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Opciones para pch

5

Page 6: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Algunos colores disponibles en Rcolors( ) # muestra todos los colores disponibles en R

# Colores básicos en R

6

Page 7: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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)

datos7

Page 8: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Ejemplo de gráficos - plot( )

names(datos)

head(datos)

ls.str(datos)

plot(peso, altura)

plot(datos$peso, datos$altura)

plot(datos$peso, datos$altura, col="blue", pch=19)

plot(datos$peso, datos$altura, col="blue", pch=19,

type="p", main="Diagrama de dispersión peso vs altura")

8

Page 9: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Ejemplos - plot( )plot(datos$peso, datos$altura, col=“blue”, pch=19,

type="p", main="Diagrama de dispersión peso vs altura",

sub = "muestra número 1", xlab="peso", ylab="altura")

plot(datos$peso, datos$altura, col=“blue”, pch=19,

type="p", main="Diagrama de dispersión peso vs altura",

sub = "muestra número 1", xlab="peso", ylab="altura", xlim = c(55,100), ylim = c(1.55,2))

9

Page 10: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

10

Page 11: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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 ( )

11

Page 12: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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 las últimas gráficas12

?

Page 13: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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"))

13

Page 14: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Ejemplos - barplot( ) 2 variables

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

14

Page 15: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

15

Page 16: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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 intervalos

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

16

Page 17: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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")

17

Page 18: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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")

18

Page 19: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

19

Page 20: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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( )

20

Page 21: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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")

21

Page 22: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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")

22

Page 23: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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)

23

Page 24: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

24

Page 25: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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( )

25

Page 26: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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

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

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

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

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

26

Page 27: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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

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

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

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

etiqueta = paste(etiqueta, pc)

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

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

27

Page 28: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

28

Page 29: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

Accesorios para gráficas – par( )

par(mfrow=c(x,y) modifica el área de gráficos para incluir varios elementos 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")

par(mfrow=c(1,1)

29

Page 30: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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)

30

Page 31: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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")

31

Page 32: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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)

32

Page 33: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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

33

Page 34: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

34

Page 35: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

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

35

Page 36: Introducción al lenguaje R Sesión 4 / Gráficos en R Profesor: Noé Becerra Rodríguez 25 de junio 2014

¿preguntas?

[email protected]

http://nbecerrastatistics.wordpress.com/

36