Wizualizacja danych odpowiedzi przedmiotu Likerta

25

Jakie są dobre sposoby na wizualizację zestawu odpowiedzi Likerta?

Na przykład zestaw elementów pytających o znaczenie X w podejmowaniu decyzji dotyczących A, B, C, D, E, F i G? Czy jest coś lepszego niż skumulowane wykresy słupkowe?

  • Co należy zrobić z odpowiedziami N / A? Jak mogą być reprezentowani?
  • Czy wykresy słupkowe powinny podawać wartości procentowe, czy liczbę odpowiedzi? (tj. czy pręty powinny mieć tę samą długość?)
  • Jeśli wartości procentowe, mianownik powinien zawierać nieprawidłowe i / lub nie dotyczyły odpowiedzi?

Mam własne poglądy, ale szukam pomysłów innych ludzi.

chl
źródło

Odpowiedzi:

30

Podoba mi się wyśrodkowany widok zliczania. Ta konkretna wersja usuwa neutralne odpowiedzi (skutecznie traktując neutralne i n / a jako takie same), aby pokazać tylko ilość opinii zgodnych / nie zgadzających się. Punkt 0 to miejsce, w którym spotykają się czerwony i niebieski. Oś liczenia jest wycięta.

alternatywny tekst

Dla porównania, oto te same pięć odpowiedzi, co ułożone w stosy wartości procentowe, pokazujące zarówno neutralny (szary), jak i brak odpowiedzi (biały).

alternatywny tekst

Aktualizacja: Artykuł sugerujący podobną metodę: Rysowanie Likerta i innych skal oceny (PDF)

Xan
źródło
2
(+1) Interesujące! Z jakiego oprogramowania korzystasz? Tylko uwaga: nic nie wskazuje na wartości bezwzględne dla% lub liczby, więc wydaje się, że pozwala to tylko na względną interpretację.
chl
Przepraszam, nie przeczytałem twojego ostatniego zdania (oś X jest niewidoczna). Spróbuję inną uwagę: Czy jest szansa, aby liczby NA były widoczne w widoku centrowanym (tzn. Odróżnić je od neutralnych)?
chl
@chl Thanks. Używam JMP, za który otrzymuję wynagrodzenie za pracę. Pierwszy to skumulowany wykres słupkowy z dodatnimi i ujemnymi wartościami, co powinno być możliwe w wielu narzędziach. Liczenia NA można wykonać na różne sposoby (z jednego końca, podzielone na oba końce, w środkowej, oddzielnej kolumnie) i żaden nie wydaje się oczywiście lepszy w większości sytuacji.
xan
2
Chciałem tylko dodać Rużytkownikom, że tego rodzaju wykresy są zaimplementowane w pakiecie HH. Aby zrobić wrażenie, możesz spróbować likert(t(apply(data, 2, table))).
hplieninger
1
Myślę, że odniesieniem jest „B Robbins, Naomi; M Heiberger, Richard (2011).„ Rysowanie Likerta i innych skal oceny ”. JSM 2011: 1058–1066.”
Kit Johnson
23

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)

alternatywny tekst

Lepsze renderowanie można osiągnąć za pomocą latticelub 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:

alternatywny tekst

Mogę również wymyślić jakąś mapę termiczną, która jest przydatna, jeśli istnieje wiele przedmiotów o podobnej kategorii odpowiedzi. alternatywny tekst

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ć. alternatywny tekst

alternatywny tekst

chl
źródło
2
BTW, Pytanie o odpowiedzi w skali Graphing Likert trafiło wczoraj na blogu Andrew Gelmana :) j.mp/aBm8mZ
chl
14

Myślę, że odpowiedź chl jest świetna.

Jedną rzeczą, którą mogę dodać, jest przypadek, w którym chciałbyś porównać korelację między elementami. W tym celu można użyć czegoś w rodzaju macierzy rozproszenia wykresu korelacji dla danych uporządkowanych według kategorii

alternatywny tekst

(Ten kod nadal wymaga drobnych poprawek - ale daje ogólny pomysł ...)

Tal Galili
źródło
3
(+1) Przypomina mi to pairs.panelsfunkcję w psychpakiecie autorstwa W Revelle.
chl
Ciekawy. Natknąłem się na ten kod, ale nigdy nie wiedziałem, że istnieje również w pakiecie psych. Jestem pewien, że w jakiś sposób mnie to zainspirowało, kiedy napisałem ten post (powinienem dodać to do napisów na poście ...)
Tal Galili