3 Deskriptive Statistik

3.1 Einführung

In diesem Teil des Skripts wollen wir einfache deskriptive Analysen mit R durchführen, also Kennwerte berechnen, die uns ein besseres Verständnis der Daten ermöglichen. Wir nutzen dazu die Ergebnisse einer Erstsemesterbefragung. Diese finden Sie im Downloadbereich im Datensatz WPStudis.RData.

Laden Sie den Datensatz WPStudis.RData.

load("WPStudis.Rdata")

Variablennamen anzeigen:

names(WPStudis)
##  [1] "F1_Nummer"                          "F2_Alter"                           "F3_Geschlecht"                     
##  [4] "F4_Koerpergroesse"                  "F5_Schuhgroesse"                    "F6_Sternzeichen"                   
##  [7] "F7_Brille"                          "F13_WhatsApp"                       "F17_Freunde_Facebook"              
## [10] "F19_Partnerschaft"                  "F20_Einkommen_Glueck"               "F21_01_Zufriedenheit_Leben"        
## [13] "F21_02_Zufriedenheit_Studium"       "F21_03_Zufriedenheit_Partnerschaft"

3.2 Maße der zentralen Tendenz

Mittelwert

mean(WPStudis$F4_Koerpergroesse)
## [1] 169.9462

Median

median(WPStudis$F4_Koerpergroesse)
## [1] 169

Modalwert: Geht in R nur mit einem Trick - die erste Zahl ist der Modus:

which.max(table(WPStudis$F4_Koerpergroesse))
## 160 
##   4

3.3 Streuungsmaße

Range

range(WPStudis$F4_Koerpergroesse)
## [1] 155 187

Standardabweichung

sd(WPStudis$F4_Koerpergroesse)
## [1] 7.756296

Varianz

var(WPStudis$F4_Koerpergroesse)
## [1] 60.16012

Quantile

quantile(WPStudis$F4_Koerpergroesse)
##   0%  25%  50%  75% 100% 
##  155  164  169  175  187

3.4 Zusammenfassung von Kennwerten

Variablenzusammenfassungen fuer die Variable Körpergröße mit der Funktion summary()

summary(WPStudis$F4_Koerpergroesse)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   155.0   164.0   169.0   169.9   175.0   187.0

Versuchen Sie das gleiche für Alter:

summary(WPStudis$F2_Alter)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   17.00   19.00   20.00   21.67   22.25   45.00       1

Deskr. Statistiken für alle Variablen aus dem Psych Paket

library(psych)
describe(WPStudis)
##                                    vars  n    mean      sd median trimmed     mad min  max range  skew kurtosis     se
## F1_Nummer                             1 93   47.70   27.36     48   47.75   35.58   1   94    93 -0.02    -1.24   2.84
## F2_Alter                              2 92   21.67    4.28     20   20.93    1.48  17   45    28  2.41     8.30   0.45
## F3_Geschlecht*                        3 93    1.83    0.38      2    1.91    0.00   1    2     1 -1.71     0.93   0.04
## F4_Koerpergroesse                     4 93  169.95    7.76    169  169.55    8.90 155  187    32  0.39    -0.65   0.80
## F5_Schuhgroesse                       5 93   39.53    2.90     39   39.12    2.97  36   50    14  1.29     1.42   0.30
## F6_Sternzeichen*                      6 93    6.87    3.72      8    6.95    4.45   1   12    11 -0.16    -1.41   0.39
## F7_Brille*                            7 92    1.42    0.50      1    1.41    0.00   1    2     1  0.30    -1.93   0.05
## F13_WhatsApp                          8 90  526.22 1176.28    250  326.89  222.39  20 9999  9979  6.43    46.11 123.99
## F17_Freunde_Facebook                  9 83  327.64  173.12    300  315.03  148.26   0  900   900  0.73     0.60  19.00
## F19_Partnerschaft*                   10 91    1.57    0.50      2    1.59    0.00   1    2     1 -0.28    -1.94   0.05
## F20_Einkommen_Glueck                 11 76 1978.29 1031.45   2000 1966.94 1260.21 200 5000  4800  0.35     0.22 118.32
## F21_01_Zufriedenheit_Leben           12 90    3.92    0.77      4    3.99    0.00   1    5     4 -1.34     3.46   0.08
## F21_02_Zufriedenheit_Studium         13 89    3.74    0.79      4    3.74    1.48   1    5     4 -0.34     0.42   0.08
## F21_03_Zufriedenheit_Partnerschaft   14 90    3.80    0.97      4    3.88    1.48   1    5     4 -0.39    -0.56   0.10

3.5 Übung

  • Lassen Sie sich die Variablenzusammenfassung für das Alter mit der Index-Notation ausgeben
  • Was ist die gößte Schuhgröße in WP?

In diesem Video zeige ich wie das in R funktioniert:

3.6 Deskriptiver Vergleich von Kennwerten

Um nun zum Beispiel die durchschnittliche Körpergröße von Männern und Frauen zu ermitteln nutzen wir den tapply Funktion. tapply steht für table apply. D.h. die Funktion (hier mean) wird auf eine Menge von Variablen angewandt und als Tabelle ausgegeben.

tapply(WPStudis$F4_Koerpergroesse, WPStudis$F3_Geschlecht, mean, na.rm = TRUE)
## Maennlich  Weiblich 
##  181.0625  167.6364

Dies können wir auch auf die Funktion “summary” anwenden.

tapply(WPStudis$F4_Koerpergroesse, WPStudis$F3_Geschlecht, summary, na.rm = TRUE)
## $Maennlich
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   170.0   179.5   182.5   181.1   183.5   187.0 
## 
## $Weiblich
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   155.0   163.0   168.0   167.6   171.0   186.0

Noch ausführlicher geht es mit der Funktion “describeBy” aus dem Psych Paket

library(psych)
describeBy(WPStudis$F4_Koerpergroesse, WPStudis$F3_Geschlecht, mat=TRUE)
##     item    group1 vars  n     mean       sd median  trimmed    mad min max range       skew   kurtosis        se
## X11    1 Maennlich    1 16 181.0625 4.711245  182.5 181.4286 3.7065 170 187    17 -0.8400052 -0.1343342 1.1778114
## X12    2  Weiblich    1 77 167.6364 6.084729  168.0 167.4286 5.9304 155 186    31  0.3363957 -0.1289078 0.6934192

3.7 Übung

Nutzen Sie den WPStudisDatensatz und Berechnen Sie: - Median und Standardabweichung der Schuhgrösse der Studierenden - Vergleichen Sie den Mittwelwert der Schuhgrösse von männlichen und weiblichen Studierenden - Legen Sie im WPStudis Datensatz eine neue Variable an die die Körpergröße in Metern angibt

In diesem Video zeige ich wie das in R funktioniert:

3.8 Häufigkeitstabellen

Um sich die Werte als Häufigkeitsabellen ausgeben zu lassen nutzen wir den table() Befehl

table(WPStudis$F6_Sternzeichen)
## 
##     Fische   Jungfrau      Krebs      Loewe   Schuetze   Skorpion  Steinbock      Stier      Waage Wassermann     Widder   Zwilling 
##          8         10          5          8          5          8          1          9         10          8         10         11

Für relative Häufigkeiten:

prop.table(table(WPStudis$F6_Sternzeichen))
## 
##     Fische   Jungfrau      Krebs      Loewe   Schuetze   Skorpion  Steinbock      Stier      Waage Wassermann     Widder   Zwilling 
## 0.08602151 0.10752688 0.05376344 0.08602151 0.05376344 0.08602151 0.01075269 0.09677419 0.10752688 0.08602151 0.10752688 0.11827957

Etwas schöner als Prozentwerte und gerundet auf zwei Nachkommastellen

round(100*prop.table(table(WPStudis$F6_Sternzeichen)),2)
## 
##     Fische   Jungfrau      Krebs      Loewe   Schuetze   Skorpion  Steinbock      Stier      Waage Wassermann     Widder   Zwilling 
##       8.60      10.75       5.38       8.60       5.38       8.60       1.08       9.68      10.75       8.60      10.75      11.83

In diesem Video zeige ich wie das in R funktioniert:

3.9 Kreuztabellen

Bevor wir mit Korrelationen starten, kann es sinnvoll sein Kreuztabellen zu erzeugen:

table (WPStudis$F7_Brille, WPStudis$F3_Geschlecht)
##       
##        Maennlich Weiblich
##   Nein        14       39
##   JA           2       37

Nun wollen wir wieder die relativen Prozente berechnen. Hier gibt es nun aber drei Möglichkeiten:

round(100*prop.table(table(WPStudis$F7_Brille, WPStudis$F3_Geschlecht)))
##       
##        Maennlich Weiblich
##   Nein        15       42
##   JA           2       40

Dies gibt uns die Prozentwerte der jeweiligen 4 Gruppen (bezogen auf alle Studierenden). Zum Beispiel wissen wir nun, dass 15% der Studierenden Männlich sind und keine Brille tragen.

Mit der erweiterung ,1 beziehungsweise ,2 können nun die relativen Zeilenprozente bzw. Spaltenprozente berechnet werden:

round(100*prop.table(table(WPStudis$F7_Brille, WPStudis$F3_Geschlecht),1))
##       
##        Maennlich Weiblich
##   Nein        26       74
##   JA           5       95

Hier wird pro Zeile gerechnet, d.h. jede Zeile ergibt 100%. Wir können nun also zum Beispiel sagen, dass von allen Brillenträgern (Zeile “JA”) nur rund 5% männlich sind.

Alternativ können wir die Prozente pro Spalte berechnen:

round(100*prop.table(table(WPStudis$F7_Brille, WPStudis$F3_Geschlecht),2))
##       
##        Maennlich Weiblich
##   Nein        88       51
##   JA          12       49

Dies sagt uns nun, dass von den Männlichen Studierenden nur 12 % eine Brille tragen.

In diesem Video zeige ich wie das in R funktioniert:

3.10 Korrelation

Grundsätzlich gibt es in R mehrere Möglichkeiten (wie immer) Korrelationen zu berechnen. Die cor() sowie cor.test() Funktionen sind ein Grundbestandteil von R. Weitere Korrelations-Funktionen sind in vielen Packages enthalten, z.B.rcorr() im Hmisc package.

Wir starten einfach :

cor(WPStudis$F4_Koerpergroesse, WPStudis$F5_Schuhgroesse, method="pearson")
## [1] 0.7253853

Bei Ordinal-skalierten Variablen sollten wir Kendall’s Tau oder Spearmans Rho verwenden.

Wichtiger Hinweis:

Wir müssen R sagen was mit den fehlenden Werten passieren soll Das Argument use=“complete.obs” sorgt dafür, dass nur Datensätze die “complete” also ohne fehlende Werte sind verwendet werden. Auch für die Nutzung von Kendall’s Tau müssen beide Variablen als numeric formatiert sein.

cor(WPStudis$F21_02_Zufriedenheit_Studium ,WPStudis$F21_01_Zufriedenheit_Leben,use="complete.obs",  method="kendall")
## [1] 0.3073518

Was bedeutet das Ergebnis nun? Ein p-Wert könnte uns hier weiterhelfen - daher nutzen wir nun cor.test().

cor.test(WPStudis$F21_02_Zufriedenheit_Studium ,WPStudis$F21_01_Zufriedenheit_Leben, method ="kendall")
## 
##  Kendall's rank correlation tau
## 
## data:  WPStudis$F21_02_Zufriedenheit_Studium and WPStudis$F21_01_Zufriedenheit_Leben
## z = 3.2087, p-value = 0.001333
## alternative hypothesis: true tau is not equal to 0
## sample estimates:
##       tau 
## 0.3073518

Die Korrelation (von 0.3) ist auf dem 1%-Niveau signifikant.

3.11 Übung

Nutzen Sie den Datensatz WPStudis:

  • Gibt es einen Zusammenhang zwischen Anzahl gesendeter Whatsapp und der Anzahl der Facebook Freunde?
  • Gibt es einen Zusammenhang zwischen dem Alter und dem benötigten Einkommen zum Glücklichsein (F20)?

In diesem Video zeige ich wie das in R funktioniert: