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.
Paquete ggplot - Potencia y facilidad para generar gráficos en R
1. 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
2. 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
3. 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í planteados
generan un gráfico de
dispersión Altura vs Peso
4. …Comando qplot
“altura” vs “peso” según el
“género”, entonces podemos
agregar al grafico la
característica estética color
asociada a la variable
categórica “genero”.
>qplot(altura, peso, data= datos, colour =genero ,xlab="Altura
(Centimetros)", ylab="Peso (Libras)")
5. …Comando qplot
Aquí además de los
puntos se muestra la
tendencia mediante una
lí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 usar
librerías especializadas para
generar la tendencia.
6. …Comando qplot
Este gráfico se ilustra es uso
de transparencias, así los
puntos más oscuros indican
que hay varias observaciones
ocupando el mismo lugar.
> qplot(nivel,peso, data = x, alpha=I(1/5), xlab="Nivel de
Educacion", ylab="Peso (libras)")
7. …Comando qplot
Si se quiere conocer si
existe alguna mejoría en
la relación “altura” vs
“peso” cuando aumenta
el “nivel de educación”
de los individuos, se usa
el comando facet como
se muestra aquí.
> qplot(nivel,peso, data = x, alpha=I(1/5), xlab="Nivel de
Educacion", ylab="Peso (libras)")
8. …Comando qplot
Ahora agrupamos los
datos por nivel de
educación y por el
género
> qplot(altura,peso,data= datos, xlab="Altura (Centimetros)" ,
ylab="Peso (Libras)") + facet_grid(genero~nivel)
10. …Comando qplot
Aquí se modifica el
ancho de los intervalos,
además se espefica los
limites del eje x.
>qplot(peso, data= datos, geom = “histogram”, binwidth = 5,
xlim=c(80,220))
11. 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, el
mismo que usa el data.frame “datos” y las
caracterí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 visualizado
pues no se le ha insertado capa alguna
12. Comando ggplot
Aquí, al la variable “g”
se le aumenta un layer
de puntos
> g + layer( geom = ”point”)
> g + geom_point
Otra forma (más
sencilla) de hacer esto
es:
16. 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 el
ancho del intervalo del
histograma, el limite del eje x y
además se ha modificado el fondo
y la grilla.