Paquete ggplot - Potencia y facilidad para generar gráficos en R

Post on 04-Jul-2015

6.011 views 1 download

description

El paquete ggplot de R proporciona un poderoso sistema que hace que sea fácil de producir gráficos complejos de varias capas, automatiza varios aspectos tediosos del proceso de graficar manteniendo al mismo tiempo la habilidad de construir paso a paso un gráfico pues se compone de una serie de pequeños bloques de construcción independientes, esto reduce la redundancia dentro del código, y hace que sea fácil de personalizar el gráfico para obtener exactamente lo que se desea.

Transcript of Paquete ggplot - Potencia y facilidad para generar gráficos en R

PAQUETE GGPLOT.- POTENCIA Y FACILIDAD PARA GENERAR GRÁFICOS

Néstor Montaño, Julio Villamar

Instituto de Ciencias Matemáticas

nestor.montano@gmail.com, j.villamar.2009@gmail.com

Componentes de un gráfico

• Datos junto con características estéticas

• Objetos geométricos, (puntos, líneas, polígonos, áreas, etc.)

• Transformaciones estadísticas

• Escalas

• Sistema de coordenadas

• Condicionamiento

Comando qplot

• Considere un data.frame llamado “datos” el cual contiene las variables: “Peso” “Altura” y “genero”

> qplot(x, y, data) > qplot(altura, peso, data=datos)

Los comandos así planteadosgeneran un gráfico dedispersión Altura vs Peso

…Comando qplot

“altura” vs “peso” según el“género”, entonces podemosagregar al grafico lacaracterística estética colorasociada a la variablecategórica “genero”.

>qplot(altura, peso, data= datos, colour =genero ,xlab="Altura (Centimetros)", ylab="Peso (Libras)")

…Comando qplot

Aquí además de lospuntos se muestra latendencia mediante unalínea suavizada.

>qplot(altura,peso,data= datos, geom=c("point","smooth"),xlab="Altura (Centimetros)", ylab="Peso (Libras)")

> library(splines) >qplot(altura,peso,data= datos, geom=c("point","smooth"), method=”lm”, xlab="Altura (Centimetros)", ylab="Peso (Libras)")

También se puede usarlibrerías especializadas paragenerar la tendencia.

…Comando qplot

Este gráfico se ilustra es usode transparencias, así lospuntos más oscuros indicanque hay varias observacionesocupando el mismo lugar.

> qplot(nivel,peso, data = x, alpha=I(1/5), xlab="Nivel deEducacion", ylab="Peso (libras)")

…Comando qplot

Si se quiere conocer siexiste alguna mejoría enla relación “altura” vs“peso” cuando aumentael “nivel de educación”de los individuos, se usael comando facet comose muestra aquí.

> qplot(nivel,peso, data = x, alpha=I(1/5), xlab="Nivel deEducacion", ylab="Peso (libras)")

…Comando qplot

Ahora agrupamos losdatos por nivel deeducación y por elgénero

> qplot(altura,peso,data= datos, xlab="Altura (Centimetros)" ,ylab="Peso (Libras)") + facet_grid(genero~nivel)

…Comando qplot

Histograma de frecuencias para la variable Peso

>qplot(peso, data= datos, geom = “histogram”)

…Comando qplot

Aquí se modifica elancho de los intervalos,además se espefica loslimites del eje x.

>qplot(peso, data= datos, geom = “histogram”, binwidth = 5,xlim=c(80,220))

Comando ggplot

Al usar ggplot() el primer paso es crear el objeto“gráfico” de la siguiente manera:

> g <- ggplot(datos, aes(altura, peso, colour = genero))

Aquí se asigna a la variable “g” el gráfico creado, elmismo que usa el data.frame “datos” y lascaracterísticas estéticas que se le declaran son “altura”para el eje x, “peso” para el eje y, y “género” para color.

Así planteado, el gráfico aún no puede ser visualizadopues no se le ha insertado capa alguna

Comando ggplot

Aquí, al la variable “g”se le aumenta un layerde puntos

> g + layer( geom = ”point”)

> g + geom_point

Otra forma (mássencilla) de hacer estoes:

Comando ggplot

> g + geom_point()+ geom_smooth()

Comando ggplot

> g + geom_point() + facet_grid(.~nivel)

Comando ggplot

> h<- ggplot (datos, aes(peso))> h + geom_histogram(binwidth=5) + xlim=c(80,220))

Comando ggplot

> h<- ggplot (datos, aes(peso))> h + geom_histogram(binwidth=5) + xlim=c(80,220)) + opts(panel.background = theme_rect(colour = NA)) + opts(panel.grid.major = theme_line(linetype = "dotted"))

En este gráfico se especifica elancho del intervalo delhistograma, el limite del eje x yademás se ha modificado el fondoy la grilla.

Poder del paquete ggplot

Poder del paquete ggplot