Ich habe einen Datensatz mit Antworten auf einen Likert-Gegenstand auf einer 9pt-Skala. Ich möchte eine Häufigkeitstabelle (und Barplot) der Daten erstellen, aber einige Werte auf der Skala erscheinen nie in meiner Datenmenge, so dass table()
diesen Wert aus der Häufigkeitstabelle entfernt. Ich möchte stattdessen den Wert mit einer Häufigkeit von 0
darstellen. Das heißt, mit dem folgenden Datensatz
Ich möchte die folgende Häufigkeitstabelle erhalten, ohne eine Spalte namens 3
mit dem Wert 0
manuell einfügen zu müssen.
Ich bin neu bei R
, also habe ich vielleicht etwas Grundlegendes übersehen, aber ich bin noch nicht auf eine Funktion oder Option gestoßen, die das gewünschte Ergebnis liefert.
BEARBEITEN:
tabular
erzeugt Häufigkeitstabellen, während table
Kontingenztabellen erzeugt. Um jedoch, wie im obigen Beispiel, in einer eindimensionalen Kontingenztabelle Nullfrequenzen zu erhalten, funktioniert der folgende Code natürlich immer noch.
Diese Frage lieferte den fehlenden Link. Durch die Umwandlung des Likert-Elements in einen Faktor und die explizite Angabe der Ebenen werden Ebenen mit einer Häufigkeit von 0
immer noch gezählt
erzeugt die gewünschte Ausgabe
Wenn Sie die Anzahl oder Proportionen für mehrere Likerteile schnell berechnen möchten und Ihre Ausgabe in einem dat.frame erhalten möchten, können Sie die Funktion psych::response.frequencies
im psych
-Paket mögen.
Lässt einige Daten erstellen (beachten Sie, dass es keine 9s gibt):
%Vor%Wenn Sie den Anteil in jeder Kategorie berechnen möchten
%Vor%Sie erhalten Folgendes:
%Vor%Wenn Sie zählen möchten, können Sie mit der Stichprobengröße multiplizieren:
%Vor%Sie erhalten Folgendes:
%Vor%Einige Anmerkungen:
max
ist 10. Wenn Sie also mehr als 10 Antwortoptionen haben, haben Sie Probleme. Andernfalls könnten Sie in Ihrem Fall und in vielen Fällen von Likert-Elementen das Argument max
weglassen. uniqueitems
gibt die möglichen Werte an. Wenn alle Ihre Werte in mindestens einem Element vorhanden wären, würde dies aus den Daten abgeleitet werden.