Mastering Data Visualization with ggplot2 Aesthetics and Geoms
Classified in Medicine & Health
Written on in
English with a size of 4.48 KB
Configuración Inicial de Tidyverse
install.packages("tidyverse")
library(tidyverse)
mpgGeneramos un gráfico de dispersión básico utilizando los datos mpg:
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy))Gráficos Estéticos en ggplot2
La Propiedad Estética es una propiedad visual que consiste en incluir otras variables como tamaño, forma y color en el gráfico, mapeándolas dentro de aes().
Mapeo de Variables a Estéticas
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,color=class))
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,size=class))
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,alpha=class))
ggplot(data=mpg)+geom_point(mapping=aes(x=displ,y=hwy,shape=class))Uso de Facetas para Subdividir Gráficos
Las facetas permiten subdividir el gráfico original en múltiples subplots basados en los valores de una o dos variables categóricas.
- facet_wrap: Utilizado para una sola variable.
ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))+
facet_wrap(~class,nrow=2)- facet_grid: Utilizado para dos variables (filas ~ columnas).
ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))+
facet_grid(drv~cyl)- facet_grid (una dimensión): Utilizando el punto
.para omitir una dimensión.
ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))+
facet_grid(.~cyl)Objetos Geométricos (Geoms)
Los objetos geométricos definen la forma en que se representan los puntos de datos.
Comparación de Geoms: Point vs Smooth
Izquierda: Puntos de dispersión (geom_point).
ggplot(data=mpg)+
geom_point(mapping=aes(x=displ,y=hwy))Derecha: Línea de suavizado (geom_smooth).
ggplot(data=mpg)+
geom_smooth(mapping=aes(x=displ,y=hwy))Ajustando la Estética en geom_smooth
ggplot(data=mpg)+
geom_smooth(mapping=aes(x=displ,y=hwy,linetype=drv))
ggplot(data=mpg)+
geom_smooth(mapping=aes(x=displ,y=hwy,color=drv))Múltiples Geoms Combinados
Es posible superponer diferentes geoms en el mismo gráfico.
ggplot(data = mpg) + geom_point(mapping = aes(x = displ, y = hwy)) + geom_smooth(mapping = aes(x = displ, y = hwy ))Transformaciones y Gráficos de Barras
Antes de visualizar, es útil entender la estructura de los datos, usando el conjunto de datos diamonds.
head(diamonds)
str(diamonds)Análisis de la variable categórica cut:
class(diamonds$cut)
table(diamonds$cut)Ejemplo de manipulación básica:
cut2=as.vector(diamonds$cut)
class(cut2)
table(cut2)
barplot(table(cut2))Gráficos de Barras con ggplot2
geom_bar calcula automáticamente los conteos (frecuencias) de la variable mapeada al eje X.
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut))
ggplot(data = diamonds) + stat_count(mapping = aes(x = cut))Gráficos de Barras en Proporciones
Para mostrar proporciones en lugar de conteos, se utiliza la variable calculada ..prop.. y se requiere agrupar (group = 1).
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))Uso de stat_summary
stat_summary permite calcular y visualizar estadísticas resumidas (mínimo, máximo, mediana) para una variable continua agrupada por una categórica.
ggplot(data = diamonds) + stat_summary(
mapping = aes(x = cut, y = depth),
fun.ymin = min,
fun.ymax = max,
fun.y = median
)Ajuste de Parámetros Visuales
Se utiliza color para el contorno y fill para rellenar las barras. Cuando se mapea una variable a fill, se genera una leyenda y se aplica el color según la variable (ej. clarity).
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, color = cut))
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill = cut))
ggplot(data = diamonds) + geom_bar(mapping = aes(x = cut, fill=clarity))