12.7 Diagramas de caja

Los diagrama de caja, también conocidos como de caja y bigotes son gráficos que muestra la distribución de una variable usando cuartiles, de modo que de manera visual podemos inferir algunas cosas sobre su dispersión, ubicación y simetría.

Una gráfica de este tipo dibuja un rectángulo cruzado por una línea recta horizontal. Esta linea recta representa la mediana, el segundo cuartil, su base representa el primer cuartil y su parte superior el tercer cuartil. Al rango entre el primer y tercer cuartil se le conoce como intercuartílico (RIC). Esta es la caja.

Además, de la caja salen dos líneas. Una que llega hasta el mínimo valor de los datos en la variable o hasta el primer cuartil menos hasta 1.5 veces el RIC; y otra que llegar hasta el valor máximo de los datos o el tercer cuartil más hasta 1.5 veces el RIC. Estos son los bigotes.

Usamos la función plot() para crear este tipo de gráfico, dando como argumento x un vector de factor o cadena de texto, y como argumento y un vector numérico.

Una ventaja de este tipo de gráfico es que podemos comparar las distribución de una misma variable para diferentes grupos.

Vamos a ver cómo se distribuye la edad por nivel de educación en nuestro objeto banco, esto es, las variables education y age.

plot(x = banco$education, y = banco$age)

Podemos ver que las personas con menor nivel educativo tienden a tener una edad mayor. La mayoría de las personas con educación primaria tienen entre 40 y 50 años, mientras que la mayoría con educación terciaria tiene entre 35 y 45 años, aproximadamente.

Por supuesto, podemos cambiar los parámetros gráficos a un diagrama de caja.

plot(x = banco$education, y = banco$age, main = "Edad por nivel educativo", 
     xlab = "Nivel educativo", ylab = "Edad", 
     col = c("orange3", "yellow3", "green3", "grey"))

También podemos crear diagramas de caja con la función boxplot(). Esta función puede generar diagramas de caja de dos maneras distintas.

En la primera manera, si damos como argumento x un vector numérico, nos dará un diagrama de caja de esa variable.

boxplot(x = banco$age)

En la segunda manera necesitamos dar dos argumentos:

  • formula: Para esta función las fórmulas tienen el formato y ~ x, donde x es el nombre de la variable continua a graficar, y la x es la variable que usaremos como agrupación.
  • data: Es el data frame del que serán tomadas las variables.

Por ejemplo, para mostrar diagramas de caja por nivel educativo, nuestra variable y es age y nuestra variable x es education, por lo tanto, formula será age ~ education.

boxplot(formula = age ~ education, data =  banco)