Tutorial: Univariate Deskriptive Statistik mit R

Mit R kann man Daten auf eine vielfältige Weise beschreiben, um sich einen Überblick zu verschaffen.

Dazu benötigt man folgende Befehle:

Absolute Häufigkeit

Wenn ich wissen möchte, wie hoch die Anzahl der Objekte mit einer bestimmten Merkmalsausprägung in einem Datensatz ist, verwende ich den Begriff table. Damit bekomme ich eine Übersicht in Form einer Tabelle.

Ich kann mir aber auch die

Relative Häufigkeit

ausgeben lassen. Damit ist gemeint, dass ich nicht absolute Zahlen bekomme, sondern, dass ich Prozentsätze bekomme. Man teilt die Anzahl der Objekte mit der Merkmalsausprägung durch die Gesamtzahl der Objekte.

Dann bekommt man als Ergebnis einen Bruchteil von 1. Das macht man mit dem Befehl prop.table(), den man um den Befehl table() drumherum legt. Also zum Beispiel so:

prop.table(table(NamedesObjekts$NamederVariable))

Damit es etwas schöner aussieht, kann ich das jetzt natürlich noch

Runden

Um auf 2 Nachkommastellen zu runden, nutze ich den Befehl:

round(prop.table(table(NamedesObjekts$NamederVariable)), 2)

Die 2 am Ende gibt an, dass ich zwei Nachkommastellen haben möchte.

Prozentwerte

Jetzt will ich aber vielleicht lieber Prozentwerte haben, weil das praktischer, gebräuchlicher oder einfach schöner ist. Dazu multipliziere ich die relative Häufigkeit mit 100. Entweder gerundet oder ungerundet, je nachdem wie viele Nachkommastellen ich bei meinem Ergebnis haben möchte.

Möglichkeit 1 ohne zu runden:

100 * prop.table(table(NamedesObjekts$NamederVariable))

Möglichkeit 2 mit Rundung:

round(100 * prop.table(table(NamedesObjekts$NamederVariable)), 2)

Also eigentlich alles ganz einfach.

Kumulierte absolute und relative Häufigkeiten

Nicht bei allen Skalenniveaus kann es sinnvoll sein, die Häufigkeiten zu kumulieren. Wenn ich einen Notenspiegel habe, der als Ordinalskalenniveau vorliegt (er hat also eine Rangordnung), kann es sinnvoll sein, hier eine kumulierte Häufigkeit auszugeben. Aber, wenn ich einfach nur Postleitzahlen Personen zuordne, ergibt eine kumulierte Häufigkeit natürlich gar keinen Sinn.

Wie gebe ich nun die kumulierte absolute Häufigkeit von meiner Variable aus?

cumsum(table(Objekt$Variable))

Auch diese kumulierte Häufigkeit kann ich jetzt wieder als relative Häufigkeit ausgeben, indem ich den prop.table Befehl benutze und ich kann auch hier wieder Prozentwerte ausgeben, indem ich das Ergebnis mit 100 multipliziere. Das würde dann so aussehen:

einmal so:

cumsum(prop.table(table(Objekt$Variable)))

und um das ganze jetzt noch mit 100 zu multiplizieren

cumsum(100 * prop.table(table(Objekt$Variable)))

Mehrere Gruppen von Zeilen mir rbind() zusammenführen

Ich habe jetzt drei Arten, um meine Häufigkeiten anzuzeigen, vorgestellt. Wenn ich nun alle drei in einer Tabelle aufführen möchte, kann ich die Funktion rbind() benutzen.

Um es etwas praktischer zu gestalten, erstelle ich ein neues Dataframe und füttere es mit Daten.

schueler <- data.frame(schueler=c(1,2,3,4,5,6,7,8,9,10), bio=c(1,1,2,5,4,3,2,6,2,3))

Ich habe den Datensatz schueler erstellt, er enthält 2 Objekte. Einmal die Kennziffer des Schülers und einmal die Note in Bio.

Jetzt lassen wir uns die Absolute Häufigkeit ausgeben:

table(schueler)

Hier sehe ich jetzt dass die anonymisierten Schüler jeweils eine Note auf einer bestimmten Notenstufe bekommen haben (aus der Ausgabe geht also auch hervor, dass niemand zwei Noten in Bio bekommen hat)

Einen Notenspiegel (Absolute Häufigkeit!) kann ich mir mit R so ausgeben lassen:

table(schueler$bio)

Das Ergebnis sieht dann so aus:

1 2 3 4 5 6
2 3 2 1 1 1

Es haben also 2 Schüler:innen eine 1, 3 Schüler:innen eine 2 bekommen, 2 Schüler:innen eine 3 bekommen und die Noten 4,5 und 6 gab es jeweils einmal.

Schauen wir uns jetzt die relative Häufigkeit an:

prop.table(table(schueler$bio))

1 2 3 4 5 6
0.2 0.3 0.2 0.1 0.1 0.1

Um die relative Häufigkeit in Prozent umzurechnen, multiplizieren wir das ganze mit 100:

100 * prop.table(table(schueler$bio))

Und jetzt möchte ich abschließend mit rbind() eine Tabelle ausgeben, in der alle drei Arten der Häufigkeit aufgeführt sind. Die absolute, die relative und die relative Häufigkeit in Prozent:

Dazu verbinde ich diese drei Befehle zusammen und lege den Befehl rbind() um sie herum:

rbind(table(schueler$bio), cumsum(prop.table(table(schueler$bio))), 100 * prop.table(table(schueler$bio)))

Das sieht verwirrend aus, weil es viel Schreibarbeit ist. Aber es ist nichts anderes als die Einzelschritte von oben zusammenzukopieren.

Das Ergebnis sieht in der Konsole von RStudio so aus:



Damit es etwas übersichtlicher wird, kann man sich auch die Mühe machen die einzelnen Rechenoperationen vorher in neuen Objekten zu speichern.

Modalwert ausgeben

Der Modalwert ist der Wert, der am häufigsten vorkommt. Damit ist aber nicht die Häufigkeit des Objektes gemeint, sondern wirklich der Wert.

In unserem Beispiel macht es keinen Sinn den Modalwert auszugeben, er würde 8 ergeben, weil der 8. Schüler eine 6 hat und die 6 der höchste Wert für diesen Schüler ist.

Wenn wir


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert