Las visualizaciones de datos también nos ayudan a mostrar la posible relación que exista entre dos o más variables; es por eso que entre otros tipos más que existen, los más importantes se mencionan en esta sección. Seguiremos usando nuestros datasets Housing, mpg y no olvides:

library(ggplot2)

Diagrama de caja

Este tipo de gráfica se utiliza para entender una variable numérica en términos de una variable categórica (o un indicador numérico separado en grupos). Lo que se forma son cajas y las líneas que se extienden hacia sus extremos se les llaman bigotes (del inglés, box and whiskers plot). Por ejemplo, los precios en las casas separados por vecindario preferido o no:

ggplot(Housing, aes(preferido, precio)) +
  geom_boxplot()

Vemos que la función aes() puede incluir más variables. La primera que se menciona es la que ocupará el eje \(x\) y después la \(y\). En el diagrama de caja, esto significa la categórica y después la numérica. Las opciones utilizadas antes también funcionan para las cajas.

ggplot(Housing, aes(preferido, precio)) +
  geom_boxplot(colour = "blue", fill = "skyblue")

Los límites de las cajas implican la división en cuartas partes, que llamamos cuartiles. Esto significa que los límites inferior y superior de este “sandwich” marcan la cuarta parte inferior (más barata) y la cuarta parte superior (más cara) de estas casas. La línea gruesa horizontal marca la mediana, que es la mitad de las casas.

También esta gráfica nos indica el comportamiento general al comparar los grupos de la categoría preferido. La caja ubicada más arriba significa que en general ese grupo toma valores más altos (son más caras).

También se interpreta de la misma forma si tu variable de categoría tiene más de dos niveles:

ggplot(mpg, aes(fl, hwy)) +
  geom_boxplot()

Diagrama de dispersión

Esta es la gráfica que debes usar al relacionar dos variables que sean numéricas. Cada punto es una de las observaciones, así que aquí si puedes ver la ubicación de cada elemento, sin concentrar conteos como en las barras. La posible relación o tendencia en los datos la da el camino que siguen los puntos. Por ejemplo, en el dataset de autos, al cambiar el tamaño del motor displ (en el eje horizontal), ¿cómo cambia el rendimiento en carretera hwy (en el eje vertical)?

ggplot(mpg, aes(displ, hwy)) +
  geom_point()

El camino que marcan los puntos hacia abajo (si recorres de izquierda a derecha) significa que, de manera general, conforme más grande es el motor, menor es el rendimiento de combustible, o al aumentar una variable, disminuye la otra.

Además de las opciones habituales, las propiedad de tener observaciones separadas nos permite incluir más variables que modifiquen la forma de ver los puntos. En lugar de un color fijo, una tercera variable (de categoría) que separe por color debe ser incluida dentro de la estética:

ggplot(mpg, aes(displ, hwy, colour = class)) +
  geom_point()

La leyenda (a la derecha del marco de la gráfica) te especifica cuál es de cada tipo de auto. Además que esta leyenda toma los niveles de class que es categórica, esta tercera variable puede ser numérica también, lo que forma una escala de colores. También geom_point puede incluir otras opciones como size (tamaño), shape (figura en cada punto) o alpha (transparencia) que pueden ser fijas o asignadas a alguna variable:

ggplot(Housing, aes(lote, precio, colour = pisos)) +
  geom_point(size = 2.5, alpha = 0.5)

Algunas de estas opciones y más se pueden revisar en el ggplot2 cheatsheet que puedes guardar como referencia.

Barras apiladas y agrupadas

Este es el tipo de gráfica para visualizar dos variables categóricas. Es el mismo tipo que las barras simples para una variable de la sección anterior; ahora la segunda variable es la que especifica el relleno de la barra. De nuevo en los autos podemos preguntar: dentro de cada tipo de auto class, ¿cómo se dividen con respecto a la tracción drv?:

ggplot(mpg, aes(class, fill = drv)) +
  geom_bar()

Descubrimos, por ejemplo, que muchos compactos y sedanes (midsize) son de tracción delantera (f), pero todas las pickup son de tracción en las 4 ruedas (4). Otra opción que no vemos en los gráficos anteriores es position para especificar el acomodo de las barras. El automático que generamos es lo mismo que con position = "stack": stacked bars significa precisamente barras apiladas; otra forma puede ser con position = "dodge": dodged bars lo podemos considerar como barras agrupadas.

ggplot(mpg, aes(class, fill = drv)) +
  geom_bar(position = "dodge")

Que en algunos casos podría ser una representación más útil para interpretar.

Propiedades visuales

Como parte de los complementos de ggplot2 para modificar lo que ya generamos, hay muchos aspectos (mencionados en el cheatsheet) que se pueden incluir en cualquiera de las gráficas anteriores, de entre los que mencionaremos:

Temas

Formato unificado de fondo y ejes. Si no te agrada el gris default puedes usar:

ggplot(mpg, aes(displ, hwy)) +
  geom_point(size = 2.5, alpha = 1/2) + 
  theme_minimal()

Escalas

Ya hay paletas de color predefinidas pero puedes introducir colores específicos para cada nivel de una categoría o los colores en los extremos de una escala numérica para que se haga la interpolación de colores:

ggplot(mpg, aes(displ, hwy, colour = cty)) +
  geom_point(size = 2.5, alpha = 1/2) + 
  theme_minimal() +
  scale_colour_continuous(low = "yellow", high = "red")

Etiquetas

Para que la gráfica se explique mejor puedes modificar los ejes, la leyenda e incluir título:

ggplot(mpg, aes(displ, hwy, colour = cty)) +
  geom_point(size = 2.5, alpha = 1/2) + 
  theme_minimal() +
  scale_colour_continuous(low = "yellow", high = "red", name = "En ciudad") +
  labs(x = "Tamaño del motor (L)", y = "En carretera (mi/gal)", title = "Rendimiento de autos más populares")


Este documento fue hecho con RMarkdown.