Lagemaße

Deskriptive Statistik in R

Nun werden einige Funktionen vorgestellt, mit denen deskriptive Statistiken ausgegeben werden.

Welche Maßzahlen zentraler Tendenz und der Verteilung gibt es?

  • Modus, Median, arithm. Mittel

  • Spannweite (Range), Interquartilsabstand, Quartile

  • Varianz, Standardabweichung

Minimum, Maximum und Spannweite

Die Funktionen für Minimum, Maximum und Spannweite sind:

# Minimum
min(pss$wkhtot)
## [1] 6
# Maximum
max(pss$wkhtot)
## [1] 65
# Spannweite / Range 
range(pss$wkhtot)
## [1]  6 65

Nun versuche es für die Variable stfdem. Was passiert?

min(pss$stfdem)
## [1] NA

Es gibt eine Fehlermeldung, dass der Wert nicht berechnet werden kann. Denn in dieser Variable gibt es missing values (NA's). Manche Personen haben hier also keinen Wert angegeben und dies wird in R mit NA gekennzeichnet! Daher kann kein Wert berechnet werden.

\(\rightarrow\) Um dennoch einen Wert berechnen zu können, müssen missing values exkludiert werden.

min(
  pss$stfdem, 
  na.rm = TRUE
)       
## [1] 0
## na.rm: NA = missing values, rm = remove      

Modus, Median und arithm. Mittelwert

Für den Median und Mittelwert gibt es jeweils R-Base Funktionen, die direkt genutzt werden können:

## Median
median(
  pss$stfdem, 
  na.rm = TRUE
) 
## [1] 5
## arithm. Mittelwert
mean(
  pss$stfdem, 
  na.rm = TRUE
)
## [1] 4.657492

Für den Modus gibt es das nicht, man kann sich aber mit der Funktion table() die Datentabelle einer Variable anzeigen lassen und daraus dann den Modus oder die Modi ablesen:

## Modus (no built-in function)
table(pss$stfdem)
## 
##   0   1   2   3   4   5   6   7   8   9  10 
## 226 268 436 618 754 850 631 522 338 179  83
max(table(pss$stfdem)) # nicht hilfreich bei bimodalen (etc.) Verteilungen
## [1] 850

Quantile

Manchmal sollen von einer Variable verschiedene Bereiche ausgegeben werden, z.B. das Einkommen in Dezilen oder Quintilen. Hierfür wird die Funktion quantile() genutzt. Diese wird dafür mit der Funktion seq() kombiniert.

Die Funktion seq() liefert eine Reihenfolge von Zahlen, die wir über die drei Argumente from, to und by festsetzen. Das from-Argument legt den Startwert fest, das to-Argument den Endwert und das by-Argument legt die Schritte fest. Wir gehen also im Beispiel von 0 zu 1, wobei der Schritt jeweils 0.1 ist!

seq(
  from = 0,
  to = 1, 
  by = 0.1
)

seq(
  by = 0.1, 
  to = 1, 
  from = 0
) 

# wird die Standardreihenfolge (from-to-by) eingehalten, kann man die Argumentbeschriftung auslassen.
seq(
  0, 
  1, 
  0.1
)

Nun können Dezile (0.1-Schritt) ausgegeben werden:

quantile(
  pss$stfdem, 
  probs = seq(
    0,
    1, 
    0.1
  ),    
  na.rm = TRUE
) 

Test

Was muss geändert werden, um Quintile ausgeben zu lassen?

Um Quintile zu erreichen, wird in (0.2)-Schritten gegangen, so dass wir fünf Werte von (0) bis (1) erhalten.

quantile(
  pss$stfdem, 
  probs = seq(
    0,
    1,
    0.2
  ),    
  na.rm = TRUE
)

Summary()

Um sich eine Reihe an deskriptiven Werten ausgeben zu lassen, kann man ebenfalls die Funktion summary() nutzen:

summary(pss$stfdem)

Weiter zu den Streumaßen!