Los gráficos de barras apilados generalmente son bien entendidos por los no estadísticos, siempre que se introduzcan con cuidado. Es útil escalarlos en una métrica común (p. Ej., 0-100%), con un color gradual para cada categoría si son elementos ordinales (p. Ej. Likert). Prefiero dotchart (diagrama de puntos de Cleveland), cuando no hay demasiados elementos y no hay más de 3-5 categorías de respuestas. Pero es realmente una cuestión de claridad visual. Generalmente proporciono%, ya que es una medida estandarizada, y solo informo tanto el% como el recuento con un gráfico de barras no apilado. Aquí hay un ejemplo de lo que quiero decir:
data(Environment, package="ltm")
Environment[sample(1:nrow(Environment), 10),1] <- NA
na.count <- apply(Environment, 2, function(x) sum(is.na(x)))
tab <- apply(Environment, 2, table)/
apply(apply(Environment, 2, table), 2, sum)*100
dotchart(tab, xlim=c(0,100), xlab="Frequency (%)",
sub=paste("N", nrow(Environment), sep="="))
text(100, c(2,7,12,17,22,27), rev(na.count), cex=.8)
mtext("# NA", side=3, line=0, at=100, cex=.8)
Se podría lograr una mejor representación con lattice
o ggplot2
. Todos los ítems tienen las mismas categorías de respuesta en este ejemplo en particular, pero en un caso más general podríamos esperar diferentes, por lo que mostrarlos no parecería redundante como es el caso aquí. Sin embargo, sería posible dar el mismo color a cada categoría de respuesta para facilitar la lectura.
Pero diría que los gráficos de barras apilados son mejores cuando todos los ítems tienen la misma categoría de respuesta, ya que ayudan a apreciar la frecuencia de una modalidad de respuesta entre ítems:
También puedo pensar en algún tipo de mapa de calor, que es útil si hay muchos elementos con una categoría de respuesta similar.
Las respuestas faltantes (especialmente cuando no son insignificantes o están localizadas en un ítem / pregunta específica) deben ser reportadas, idealmente para cada ítem. En general, el% de respuestas para cada categoría se calcula sin NA. Esto es lo que generalmente se hace en encuestas o psicometría (hablamos de "respuestas expresadas u observadas").
PD
Se me ocurren más cosas de lujo como la imagen se muestra a continuación (el primero fue hecho a mano, el segundo es de ggplot2
, ggfluctuation(as.table(tab))
), pero no creo que se transmiten como información precisa como diagrama de puntos o diagrama de barras ya que las variaciones de la superficie son difíciles de apreciar.