library("tidyverse")
data("mtcars")
haeufigkeit01
Aufgabe
Werten Sie die Häufigkeiten (der Stufen) folgender Variablen aus wie unten beschrieben.
Datensatz: mtcars
.
Variablen:
am
cyl
vs
- Erstellen Sie für jede der genannten Variablen eine univariate Häufigkeitsanalyse (also nur eine Variable).
- Erstellen Sie dann für die ersten beiden genannten Variablen eine gemeinsame Häufigkeitsanalyse (bivariat).
- Erstellen Sie dann für alle genannten Variablen eine gemeinsame Häufigkeitsanalyse.
- Wie viele Gruppen (also Häufigkeitswerte) ergeben sich (theoretisch) in der letzten Auswertung?
Lösung
- univariate Häufigkeitsanalyse
%>%
mtcars group_by(am) %>%
summarise(zeilen_n = n())
am | zeilen_n |
---|---|
0 | 19 |
1 | 13 |
Der Befehle n()
gibt die Anzahl der Zeilen (Reihen) zurück. Da in einem Dataframe alle Zeilen gleich lang sind, brauchen wir keine Spalte anzugeben.
Alternativ könnte man auch schreiben:
%>%
mtcars count(am)
am | n |
---|---|
0 | 19 |
1 | 13 |
Das ist haargenau der gleiche Effekt wie die vorherige Syntax.
Üblich ist auch, eine Kontingenztabelle so darzustellen:
- gemeinsame Häufigkeitsanalyse (bivariat)
%>%
mtcars count(am, cyl)
am | cyl | n |
---|---|---|
0 | 4 | 3 |
0 | 6 | 4 |
0 | 8 | 12 |
1 | 4 | 8 |
1 | 6 | 3 |
1 | 8 | 2 |
table(mtcars$am, mtcars$cyl)
4 6 8
0 3 4 12
1 8 3 2
Wir sehen, dass wir \(2\cdot3=6\) Gruppen haben, in denen sich die \(n=32\) Beobachtungen aufteilen.
- Häufigkeitsanalyse mit 3 Variablen
%>%
mtcars count(am, cyl, vs)
am | cyl | vs | n |
---|---|---|---|
0 | 4 | 1 | 3 |
0 | 6 | 1 | 4 |
0 | 8 | 0 | 12 |
1 | 4 | 0 | 1 |
1 | 4 | 1 | 7 |
1 | 6 | 0 | 3 |
1 | 8 | 0 | 2 |
Das sind drei Variablen mit \(2 \cdot 3 \cdot 2 = 12\) Gruppen.
Da einige der 12 Gruppen in den Daten nicht vorkommen, sind sie in der Auszählung der Häufigkeiten nicht aufgenommen; in den Daten gibt es nur 7 der 12 Gruppen.
Categories:
- datawrangling
- eda
- count
- string