27.7 Diagrama de caja y bigotes

geom_boxplot() es otra geometría común en la estadística para presentar la distribución de variables continuas. Suele ser más interesante cuando se compara por alguna categoría.

ggplot(data = saber) +
  aes(x= desemp_ingles, y = punt_lectura_critica) +
  geom_boxplot() +
  labs(title = "Distribución del desempeño en Lectura en Saber 11",
       x = "Desempeño en inglés",
       y = "Puntaje",
       caption = "Fuente: ICFES 2019") 

Se le puede añadir un toque de color en las cajas:

ggplot(data = saber) +
  aes(x= desemp_ingles, y = punt_lectura_critica) +
  geom_boxplot(fill = "lavenderblush") +
  labs(title = "Distribución del desempeño en Lectura en Saber 11",
       x = "Desempeño en inglés",
       y = "Puntaje",
       caption = "Fuente: ICFES 2019")

Se ha presentado que se recomienda añadir los puntos para ayudar a caracterizar la distribución de mejor manera.

ggplot(data = saber) +
  aes(x= desemp_ingles, y = punt_lectura_critica) +
    geom_boxplot(fill = "lavenderblush") +
    geom_point(color = "coral", alpha = 0.2) +
    labs(title = "Distribución del desempeño en Lectura en Saber 11",
         x = "Desempeño en inglés",
         y = "Puntaje",
         caption = "Fuente: ICFES 2019")

Se requiere incorporar una perturbación aleatoria a los puntos para que no queden unos sobre los otros.

ggplot(data = saber) +
  aes(x= desemp_ingles, y = punt_lectura_critica) +
    geom_boxplot() +
    geom_point(position = position_jitter(seed = 1515, width = .35),
               color = "coral", alpha = 0.05) +
    labs(title = "Distribución del desempeño en Lectura en Saber 11",
         x = "Desempeño en inglés",
         y = "Puntaje",
         caption = "Fuente: ICFES 2019")

La geometría permite controlar cada uno de los elementos que componen la caja, los bigotes y outliers (color, linewidth, linetype, fill, shape, stroke, etc…). Incluso incluir una pequeña muesca en la mediana.

color_caja_bigotes <- "gray30"
ggplot(data = saber) +
  aes(x= desemp_ingles, y = punt_lectura_critica) +
  geom_boxplot(outlier.color = "gray", 
               outlier.size = 0.8,
               whisker.color = color_caja_bigotes, 
               whisker.linewidth = 0.2,
               median.color = color_caja_bigotes, 
               box.color = color_caja_bigotes, 
               box.linewidth = 0.2, 
               notch = TRUE) +
  geom_point(position = position_jitter(seed = 1515, width = .35),
             color = "coral", alpha = 0.05, size = 0.8, 
             shape = 20) +
  labs(title = "Desempeño en Lectura en Saber 11",
       x = "Desempeño en inglés",
       y = "Puntaje",
       caption = "Fuente: ICFES 2019")