Explicación gráfica
Elementos y propiedades
- Elementos
- Línea, dentro de la caja, es la mediana de los datos: Q2
- Caja, representa el rango intercuartílico: Q3 - Q1.
- Bigotes, las líneas sólidas al final de las líneas de guiones que se extienden desde la caja. Definen los límites más allá de los cuales consideramos los valores como atípicos. Existen diferentes modos de calcularlos D.
- Valores atípicos, aquellos puntos fuera de los bigotes. Se representan como puntos o pequeños círculos.
- Propiedades
- Centralidad y localización, representada por la mediana que es la línea que corta la caja
- Dispersión, proporcionada por la altura o longitud —si es horizontal— de la caja. También por la amplitud de los bigotes.
- Simetría, por la mediana en el interior de la caja y de la caja dentro de los bigotes.
- Tamaño de las colas, se observa por la amplitud de los bigotes en relación a la caja y por los valores atípicos representados.
Sin valores atípicos
# Sin valores atípicos
boxplot(iris$Sepal.Width, range = 0)
En el caso de no querer mostrar valores atípicos, especificamos range = 0. Los bigotes se extenderán hasta los extremos de los datos.
Para obtener los valores de los diferentes elementos del gráfico tenemos varias opciones:
Resumen con los 5 números de Tukey: mínimo, bigote inferior, mediana, bigote superior, máximo
fivenum(iris$Sepal.Width)
[1] 2.0 2.8 3.0 3.3 4.4
Mediante la función summary que proporciona además la media.
summary(iris$Sepal.Width)
Min. 1st Qu. Median Mean 3rd Qu. Max.
2.000 2.800 3.000 3.057 3.300 4.400
Con valores atípicos
# Con valores atípicos
boxplot(iris$Sepal.Width)
El cálculo de los bigotes en R se especifica en el argumento range. Por defecto es 1.5, lo que implica:
- Inferior: el mayor de los siguientes dos valores, el mínimo o Q1 - 1,5*RIC.
- Superior: el menor de los siguientes dos valores, el máximo o Q3 + 1,5*RIC.<(li>
Podríamos emplear las funciones summary y fivenum como hicimos anteriormente, pero los valores de los bigotes serían erróneos pues nos devuelven el mínimo y el máximo. Empleamos la función boxplot.stats que es utilizada por boxplot para producir el gráfico con el cálculo.
boxplot.stats(iris$Sepal.Width)$stats
[1] 2.2 2.8 3.0 3.3 4.0
Si en lugar de 1,5 empleamos otro coeficiente en boxplot, lo especificamos con el argumento coef en boxplot.stats.
boxplot(iris$Sepal.Width, range = 2)
boxplot.stats(iris$Sepal.Width, coef = 2)$stats
Orientación y formato
Existen muchas opciones para formatear el gráfico disponibles en la ayuda de la función. A continuación, simplemente lo orientamos horizontalmente, le cambiamos el color y añadimos un título al eje.
boxplot(iris$Sepal.Width,
col = 'palegreen',
xlab = "Sepal Width",
horizontal = TRUE)
Entradas relacionadas
- Diagrama de caja con intervalos de confianza para la mediana
- Diagramas de caja con ggplot2 en R. Una introducción.
Referencias
¡Muchas gracias por la entrada!. Tengo una duda, ¿cómo puedo hacer que en lugar de marcarme con la raya negra la mediana me marque la media? Gracias y saludos!
ResponderEliminarHola Lucía, no creo que sea recomendable sustituir la línea de la mediana por la media en un diagrama de caja. Pues generaría confusión, quien interpreta este tipo de gráficos que representan cuartiles espera encontrar la mediana. Se podría añadir la media pero con otra línea claramente diferenciada u otro caracter, por ejemplo un punto. En otra entrada mostraré como hacerlo con ggplot2. Por el momento puedes usar abline(h = mean(iris$Sepal.Width)) y añadirá una línea horizontal a los dos primeros gráficos creados. O abline(v = mean(iris$Sepal.Width)) si hemos orientado el gráfico horizontalmente. Saludos
EliminarHola, gracias por tan buena explicación.
ResponderEliminarQuerría saber modificar los márgenes del gráfico, pues las cajas se me amontonan y no se ve nada. Y al utilizar el parámetro ylim o yaxp me da error.
Muchas gracias de antemano!
Gracias por el comentario. Acude a un foro de preguntas y respuestas, como stackoverflow. Proporciona, si no han respondido ya a una duda similar, una pregunta mucho más concreta y un ejemplo reproducible. También puedes buscar tutoriales sobre gráficos en R. Saludos
EliminarHola, muchas gracias por el tutorial, muy útil. Una pregunta, necesito hacer unos diagrama de caja y bigote para varios grupos, pero me gustaría acomodarlos en forma ascendente o descendente, respecto a la mediana, ustedes me podrían ayudar con eso? Mil gracias
ResponderEliminarGracias por tu comentario. No queda nada clara tu pregunta. Te recomiendo que plantees tu duda en un foro como pueda ser StackOverflow con la etiqueta R. Puedes echar un vistazo a entradas que he publicado sobre grupos de diagramas de caja: http://nubededatos.blogspot.ie/2015/03/multiples-diagramas-de-caja-en-r.html o http://nubededatos.blogspot.ie/2015/03/diagramas-de-caja-con-ggplot2-en-r-una.html Saludos
Eliminar