Ich habe 82 Befragte in 2 Gruppen (43 in Gruppe A und 39 in Gruppe B), die eine Umfrage unter 65 Likert-Fragen im Bereich von 1 bis 5 abgeschlossen haben (stimme voll und ganz zu - stimme überhaupt nicht zu). Ich habe daher einen Datenrahmen mit 66 Spalten (1 für jede Frage + 1 für die Gruppenzuordnung) und 82 Zeilen (1 für jeden Befragten).
Mit R oder SPSS kann jeder diese Daten gut visualisieren.
Ich brauche so etwas:
(von Jason Bryer )
Ich kann den ersten Codeabschnitt jedoch nicht zum Laufen bringen. Alternativ habe ich wirklich gute Beispiele für die Visualisierung von Likert-Daten aus einem früheren Cross Validated-Beitrag gefunden: Visualisierung von Likert-Artikel-Antwortdaten. Es gibt jedoch keine Anleitungen oder Anweisungen zum Erstellen dieser zentrierten Zählungsdiagramme oder gestapelten Balkendiagramme mit R oder SPSS.
quelle
Antworten:
Wenn Sie wirklich gestapelte Balkendiagramme mit einer so großen Anzahl von Elementen verwenden möchten, gibt es zwei mögliche Lösungen.
Verwenden
irutils
Ich bin vor einigen Monaten auf dieses Paket gestoßen.
Ab Commit 0573195c07 für Github funktioniert der Code nicht mit einem
grouping=
Argument. Lassen Sie uns für die Debugging-Sitzung am Freitag gehen.Laden Sie zunächst eine komprimierte Version von Github herunter. Sie müssen die
R/likert.R
Datei hacken , insbesondere die Funktionenlikert
undplot.likert
. Zuerst inlikert
,cast()
verwendet wird , aber dasreshape
Paket geladen werden nie (obwohl es eineimport(reshape)
Anweisung in derNAMESPACE
Datei). Sie können dies vorher selbst laden. Zweitens gibt es eine falsche Anweisung zum Abrufen von Elementbezeichnungen, bei denen ai
um die Zeile 175 baumelt. Dies muss ebenfalls behoben werden, z. B. indem alle Vorkommen vonlikert$items[,i]
durch ersetzt werdenlikert$items[,1]
. Anschließend können Sie das Paket so installieren, wie Sie es auf Ihrem Computer gewohnt sind. Auf meinem Mac habe ich getanVersuchen Sie dann mit R Folgendes:
Das sollte funktionieren, aber das visuelle Rendern wird wegen der hohen Anzahl von Elementen schrecklich sein. Es funktioniert jedoch ohne Gruppierung (zB
plot(likert(resp))
).Ich würde daher vorschlagen, Ihren Datensatz auf kleinere Teilmengen von Elementen zu reduzieren. ZB mit 12 Artikeln,
Ich bekomme ein 'lesbares' gestapeltes Balkendiagramm. Sie können sie wahrscheinlich später verarbeiten. (Dies sind
ggplot2
Objekte, aber Sie können siegridExtra::grid.arrange()
aufgrund von Lesbarkeitsproblemen nicht auf einer einzigen Seite anordnen !)Alternative Lösung
Ich möchte Ihre Aufmerksamkeit auf ein anderes Paket lenken, HH , mit dem Likert-Skalen als divergierende gestapelte Balkendiagramme dargestellt werden können. Wir könnten den obigen Code wie folgt wiederverwenden:
Aber das wird die Sache ein wenig komplizieren, weil wir Frequenzen in Zählwerte umwandeln müssen, um
likert
das von erzeugte Objekt zu unterteilenirutils
Paket trennen usw. Beginnen wir also erneut mit neuen (Zähl-) Statistiken:Um eine Gruppierungsvariable zu verwenden, müssen Sie mit einem arbeiten
array
numerischen Werten arbeiten.Dadurch werden zwei separate Bedienfelder erstellt, die jedoch auf eine einzelne Seite passen.
Bearbeiten Sie 2016-6-3
quelle
HH::as.pyramidLikert
.t(apply(resp, 2, table))
mitt(apply(resp, 2, table))[,levels(resp[,1])]
. Und dir auch +1!Ich habe begonnen, einen Blog-Beitrag über die Neuerstellung vieler Diagramme in dem von Ihnen erwähnten Beitrag zu schreiben ( Visualisierung der Likert-Artikel-Antwortdaten ) in SPSS damit ich davon ausgehe, dass dies eine gute Motivation für die Fertigstellung ist.
Wie Michelle bemerkt, ist die Tatsache, dass Sie Gruppen haben, eine neue Wendung im Vergleich zu den vorherigen Fragen. Und während Gruppen mithilfe der gestapelten Balkendiagramme berücksichtigt werden können, lassen sie sich IMO viel einfacher in das Punktdiagramm-Beispiel im ursprünglichen Beitrag von chl integrieren. Ich habe den SPSS-Code eingefügt, um dies am Ende des Beitrags zu generieren. Im Wesentlichen bedeutet dies, dass Sie wissen, wie Sie Ihre Daten in das entsprechende Format umformen können, um das Diagramm zu generieren (Anmerkung im Code, um hoffentlich einiges davon zu klären). Hier habe ich eine redundante Codierung (Farbe und Form) verwendet, um Punkte aus den beiden Gruppen zu unterscheiden, und die Punkte halbtransparent gemacht, damit Sie erkennen können, wann sie sich überlappen (eine andere Option wäre, den Punkten auszuweichen, wenn sie sich überlappen).
Warum ist das besser als die gestapelten Balkendiagramme? Die gestapelten Balkendiagramme codieren Informationen in der Länge der Balken. Wenn Sie versuchen, Balkenlängen innerhalb derselben Achsenkategorie oder zwischen Feldern zu vergleichen, wird durch das Stapeln verhindert, dass die Balken einen gemeinsamen Maßstab haben. Als Beispiel habe ich in Abbildung 2 ein Bild bereitgestellt, in dem zwei Balken in einem Diagramm platziert sind, in dem sich ihre Anfangsposition unterscheidet. Welcher Balken ist der breitere Balken (entlang der horizontalen Achse)?
Vergleichen Sie dies mit der Darstellung in Abbildung 3 unten, in der die beiden Balken (mit der gleichen Länge) vom gleichen Anfangspunkt aus dargestellt sind. Ich habe die Aufgabe absichtlich schwierig gemacht, aber Sie sollten in der Lage sein zu erkennen, welche länger ist.
Gestapelte Balkendiagramme erfüllen im Wesentlichen die in Abbildung 2 dargestellten Aufgaben. Punktdiagramme können als ähnlicher angesehen werden als in Abbildung 3 dargestellt. Ersetzen Sie den Balken einfach durch einen Punkt am Ende des Balkens.
Ich werde nicht sagen, dass Sie kein bestimmtes Diagramm für die explorative Datenanalyse generieren, aber ich würde vorschlagen, die gestapelten Balkendiagramme zu vermeiden, wenn Sie so viele Kategorien verwenden. Die Punktdiagramme sind auch kein Allheilmittel, aber ich glaube, dass es viel einfacher ist, Panels mit den Punktdiagrammen zu vergleichen als mit den gestapelten Balkendiagrammen. Berücksichtigen Sie auch einige der Ratschläge, die ich in meinem Blog-Beitrag hier für Tabellen gebe, und versuchen Sie, die Diagramme in sinnvolle Kategorien zu unterteilen und sicherzustellen, dass die Elemente, die Sie zusammen betrachten möchten, in den Diagrammen näher beieinander liegen. Während einige der Plotmethoden sich gut auf viele Fragen skalieren lassen (die kategorialen Heatmaps sind ein Beispiel), wird es ohne Sortierung immer noch schwierig sein, bedeutungsvolle Muster zu identifizieren (abgesehen von offensichtlichen Ausreißern).
Ein Hinweis zur Verwendung von SPSS. SPSS kann alle zuvor mit Diagrammen verknüpften Elemente generieren, obwohl häufig bekannt ist, wie Ihre Daten zu gestalten sind (dasselbe gilt für ggplot, aber die Leute haben Pakete entwickelt, um im Wesentlichen die Umgestaltung für Sie durchzuführen). Um zu verstehen, wie die GPL-Sprache von SPSS besser funktioniert, würde ich vorschlagen, Hadley Wickhams Buch über ggplot2 zu lesenin der Verwendung R! Serie. Es enthält die Grammatik, die erforderlich ist, um zu verstehen, wie die GPL von SPSS funktioniert, und ist viel einfacher zu lesen als das mit SPSS gelieferte GPL-Programmierhandbuch! Wenn Sie Fragen zum Generieren bestimmter Diagramme in SPSS haben, ist es am besten, eine Frage für ein Diagramm zu stellen (ich habe hier so genug gesprochen wie es ist!) Blog-Post, der einige der anderen Charts repliziert. Für einen Proof-of-Concept der Wärmekarten oder Fluktuationsdiagramme sehen Sie einen anderen Blogbeitrag von mir, Einige Beispiel-Corrgramme in SPSS .
SPSS-Code zum Generieren von Abbildung 1
quelle
Na ja, ich habe mir den Code ausgedacht, bevor Sie ihn geklärt haben. Ich hätte warten sollen, aber ich dachte, ich sollte es veröffentlichen, damit jeder, der hierher kommt, diesen Code wiederverwenden kann.
Dummy-Daten zur Visualisierung
Code für Heatmap
Dies ist im Grunde eine Vorlage zur Visualisierung von Likert-Elementen auf einer Heatmap von Jason Bryons Website.
quelle
Der Code von @ RJ erzeugt einen Plot wie diesen, der eigentlich eine Tabelle mit schattierten Zellen ist. Es ist ziemlich beschäftigt und ein bisschen schwierig zu entziffern. Eine einfache Tabelle ohne Schattierung ist möglicherweise effektiver (und Sie können die Daten auch in eine aussagekräftigere Reihenfolge bringen).
Natürlich hängt es davon ab, welche Hauptbotschaft Sie zu kommunizieren versuchen, aber ich denke, dies ist einfacher und ein bisschen einfacher zu verstehen. Es hat auch die Fragen und Antworten in einer (meist!) Logischen Reihenfolge.
quelle