Skumulowane wykresy słupkowe są na ogół dobrze rozumiane przez statystystów, pod warunkiem, że są delikatnie wprowadzane. Przydatne jest skalowanie ich według wspólnej miary (np. 0-100%), ze stopniowym kolorem dla każdej kategorii, jeśli są to pozycje porządkowe (np. Likert). Wolę dotchart (wykres kropkowy Cleveland), gdy nie ma zbyt wielu przedmiotów i nie więcej niż 3-5 kategorii odpowiedzi. Ale tak naprawdę jest to kwestia przejrzystości wizualnej. Zasadniczo podam%, ponieważ jest to miara standardowa, i raportuję tylko% i zlicza z nieskumulowanym wykresem słupkowym. Oto przykład tego, co mam na myśli:
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)
Lepsze renderowanie można osiągnąć za pomocą lattice
lub ggplot2
. Wszystkie elementy mają te same kategorie odpowiedzi w tym konkretnym przykładzie, ale w bardziej ogólnym przypadku możemy spodziewać się różnych, więc pokazanie ich wszystkich nie wydawałoby się zbędne, jak ma to miejsce w tym przypadku. Możliwe byłoby jednak nadanie tego samego koloru każdej kategorii odpowiedzi, aby ułatwić czytanie.
Powiedziałbym jednak, że skumulowane wykresy słupkowe są lepsze, gdy wszystkie elementy mają tę samą kategorię odpowiedzi, ponieważ pomagają docenić częstotliwość modalności jednej odpowiedzi między elementami:
Mogę również wymyślić jakąś mapę termiczną, która jest przydatna, jeśli istnieje wiele przedmiotów o podobnej kategorii odpowiedzi.
Należy zgłaszać brakujące odpowiedzi (zwłaszcza gdy nie są one nieistotne lub zlokalizowane w odniesieniu do konkretnego elementu / pytania), najlepiej dla każdego elementu. Zasadniczo% odpowiedzi dla każdej kategorii jest obliczany bez NA. Tak zwykle robi się w ankiecie lub psychometrii (mówimy o „wyrażonych lub zaobserwowanych odpowiedziach”).
PS
Mogę wymyślić bardziej wymyślne rzeczy, takie jak obrazek pokazany poniżej (pierwszy został wykonany ręcznie, drugi pochodzi z ggplot2
, ggfluctuation(as.table(tab))
), ale nie sądzę, aby zawierał tak dokładne informacje jak kropka lub wykres słupkowy, ponieważ zmiany powierzchni są trudne doceniać.