Os gráficos de barras empilhados são geralmente bem compreendidos por não estatísticos, desde que sejam gentilmente introduzidos. É útil dimensioná-las em uma métrica comum (por exemplo, de 0 a 100%), com uma cor gradual para cada categoria, se esses itens forem ordinais (por exemplo, Likert). Prefiro dotchart (gráfico de pontos de Cleveland), quando não há muitos itens e não mais que 3-5 categorias de respostas. Mas é realmente uma questão de clareza visual. Geralmente, forneço%, pois é uma medida padronizada, e apenas reporto% e contagens com gráfico de barras não empilhado. Aqui está um exemplo do que quero dizer:
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)
Melhor renderização pode ser alcançada com lattice
ou ggplot2
. Todos os itens têm as mesmas categorias de resposta neste exemplo em particular, mas, em casos mais gerais, podemos esperar categorias diferentes, para que a exibição de todos eles não pareça redundante, como é o caso aqui. Seria possível, no entanto, dar a mesma cor a cada categoria de resposta, a fim de facilitar a leitura.
Mas eu diria que os gráficos de barras empilhados são melhores quando todos os itens têm a mesma categoria de resposta, pois ajudam a apreciar a frequência de uma modalidade de resposta entre os itens:
Também posso pensar em algum tipo de mapa de calor, que é útil se houver muitos itens com categoria de resposta semelhante.
As respostas ausentes (especialmente quando não negligenciáveis ou localizadas em um item / questão específico) devem ser relatadas, idealmente para cada item. Geralmente,% de respostas para cada categoria são calculadas sem NA. Isso é o que geralmente é feito em pesquisas ou em psicometria (falamos de "respostas expressas ou observadas").
PS
Não consigo pensar em mais extravagantes coisas como a imagem mostrada abaixo (o primeiro foi feito à mão, o segundo é de ggplot2
, ggfluctuation(as.table(tab))
), mas eu não acho que transmitir como informações precisas como dotplot ou barchart desde variações na superfície são difíceis de apreciar.