46  Lösungen Stichprobenstatistik

Hier finden Sie die Lösungen zu den Übungsaufgaben von Abschnitt 44.2.

Die hier vorgestellten Lösungen stellen immer nur eine mögliche Vorgehensweisen dar und sind sicherlich nicht der Weisheit letzter Schluss. In R führen viele Wege nach Rom, und wenn Sie mit anderem Code zu den richtigen Ergebnissen kommen, dann ist das völlig in Ordnung.

46.1 Lösung zur Aufgabe 44.2.1

a) Erstellen Sie ein Datenframe mit der Variable Kinder und übertragen Sie die Daten.
# erzeuge Datenframe
df <- data.frame(Kinder = c(1, 2, 4, 2, 2, 2, 3, 2, 1, 1, 0, 2, 2, 0, 
                            2, 2, 1, 2, 2, 3, 1, 2, 2, 1, 2))
b) Berechnen Sie das arithmetische Mittel, die Varianz sowie die Standardabweichung für die Anzahl an Kindern.
# arithmetisches Mittel
mean(df$Kinder)
[1] 1.76
# Varianz
var(df$Kinder)
[1] 0.7733333
# Standardabweichung
sd(df$Kinder)
[1] 0.8793937
c) Berechnen Sie die Quartile, die Spannweite, den Interquartilsabstand, das dritte Dezil sowie das 68te Perzentil.
# Quartile (so wie SPSS rechnet)
quantile(df$Kinder, type=6)
  0%  25%  50%  75% 100% 
   0    1    2    2    4 
# Spannweite
range(df$Kinder)
[1] 0 4
# Interquartilsabstand (so wie SPSS rechnet)
IQR(df$Kinder, type=6)
[1] 1
# drittes Dezil und 68tes Perzentil
quantile(df$Kinder, probs=c(0.3, 0.68), type=6)
30% 68% 
  1   2 

46.2 Lösung zur Aufgabe 44.2.2

a) Erstellen Sie ein Datenframe mit der Variable Patienten und übertragen Sie die Daten.
# erzeuge Datenframe
df <- data.frame(Patienten = c(15, 23, 12, 10, 28, 50, 12, 17, 20, 
                               21, 18, 13, 11, 12, 26, 30,  6, 16,
                               19, 22, 14, 17, 21, 28,  9, 16, 13,
                               11, 16, 20))
b) Berechnen Sie das arithmetische Mittel, die Varianz, die Standardabweichung und den Variationskoeffizienten.
# arithmetisches Mittel
mean(df$Patienten)
[1] 18.2
# Varianz
var(df$Patienten)
[1] 71.82069
# Standardabweichung
sd(df$Patienten)
[1] 8.474709
# Variationskoeffizient in Prozent
(sd(df$Patienten) / mean(df$Patienten)) * 100
[1] 46.56433
c) Berechnen Sie die Skewness (Schiefe) und Kurtosis (“Spitzigkeit”) und interpretieren Sie die Werte.
# Skewness
psych::skew(df$Patienten, type=2) # rechne wie SPSS
[1] 1.902838
# Kurtosis
psych::kurtosi(df$Patienten, type=2) # rechne wie SPSS
[1] 5.796082

Die Skewness beträgt 1.902838, was für eine rechtsschiefe Verteilung spricht. Die Kurtosis beträgt 5.796082 und ist somit größer als 3. Das bedeutet, die Verteilung hat eine schmale Spitze und fette Ränder.

46.3 Lösung zur Aufgabe 44.2.3

a) Erstellen Sie ein Datenframe mit der Variable Bewertung und übertragen Sie die Daten.
# erzeuge Datenframe
df <- data.frame(Bewertung = c("SS", "AP", "SS", "AP", "AP", "NT", "NT", "AP", 
                               "SB", "SS", "SB", "SS", "AP", "AP", "NT", "AP", 
                               "SS", "NT", "SS", "NT"))
b) Wandeln Sie die Bewertung in Punkte um nach dem Schema “SS” = 2,5 | “AP” = 6 | “NT”= 8 | “SB” = 9,5.
# Umkodieren
df$Punkte[df$Bewertung=="SS"] <- 2.5
df$Punkte[df$Bewertung=="AP"] <- 6
df$Punkte[df$Bewertung=="NT"] <- 8
df$Punkte[df$Bewertung=="SB"] <- 9.5
c) Bestimmen Sie den Median und den Interquartilsabstand.
# Median
median(df$Punkte)
[1] 6
# Interquartilsabstand, so wie SPSS ihn rechnen würde
IQR(df$Punkte, type=6)
[1] 5.5

46.4 Lösung zur Aufgabe 44.2.4

a) Erstellen Sie ein Datenframe mit der Variablen Geschlecht und Koerpergroesse und übertragen Sie die Daten.
# erzeuge Datenframe
df <- data.frame(Geschlecht = c(rep("weiblich", 14),
                                rep("männlich", 16)),
                 Koerpergroesse = c(173, 158, 174, 166, 162, 177, 165, 154, 166, 
                 182, 169, 172, 170, 168, 179, 181, 172, 194, 185, 187, 198, 
                 178, 188, 171, 175, 167, 186, 172, 176, 187))
b) Bestimmen Sie in Abhängigkeit zum Geschlecht das arithmetische Mittel, den Median, die Varianz, die Standardabweichung sowie die Quartile.
# mit dplyr
df %>% group_by(Geschlecht) %>% 
  reframe(aritMittel = mean(Koerpergroesse),
          Median = median(Koerpergroesse),
          Varianz = var(Koerpergroesse),
          StdAbw  = sd(Koerpergroesse),
          Q1 = quantile(Koerpergroesse, probs=0.25, type=6),
          Q3 = quantile(Koerpergroesse, probs=0.75, type=6)
  )
# A tibble: 2 × 7
  Geschlecht aritMittel Median Varianz StdAbw    Q1    Q3
  <chr>           <dbl>  <dbl>   <dbl>  <dbl> <dbl> <dbl>
1 männlich         181    180     76.8   8.76  173.  187 
2 weiblich         168.   168.    54.4   7.37  164.  173.

46.5 Lösung zur Aufgabe 44.2.5

a) Bestimmen Sie das arithmetische Mittel, den Median, die Varianz sowie die Standardabweichung der Verletzungen.
# Daten übertragen
Handball <- c(0, 1, 2, 1, 3, 0, 1, 0, 1, 2, 0, 1, 1, 
              1, 2, 0, 1, 3, 2, 1, 2, 1, 0, 1)

# Mittelwert
mean(Handball)
[1] 1.125
# Median
median(Handball)
[1] 1
# Varianz
var(Handball)
[1] 0.8097826
# Standardabweichung
sd(Handball)
[1] 0.8998792
b) Bestimmen Sie die Skewness und Kortosis der Verteilung.
# Skewness, wie SPSS
psych::skew(Handball, type=2)
[1] 0.5186785
# Kurtosis, wie SPSS
psych::kurtosi(Handball, type=2)
[1] -0.226357
c) Berechnen Sie das vierte und achte Dezil der Verteilung.
quantile(Handball, probs=c(0.4, 0.8), type=6)
40% 80% 
  1   2 

46.6 Lösung zur Aufgabe 44.2.6

Welcher Monitor funktioniert besser?
# Daten übertragen
monitor <- data.frame(Unterarm=c(111, 109, 112, 111, 113, 113, 114, 111),
                     Handgelenk=c(115, 113, 117, 116, 112, 112, 117, 112)
)

# Standardabweichungen vergleichen
sd(monitor$Unterarm)
[1] 1.581139
sd(monitor$Handgelenk)
[1] 2.251983

Die Daten des Monitors am Handgelenk haben eine größere Streuung als jene vom Monitor am Unterarm.

46.7 Lösung zur Aufgabe 44.2.7

a) Bestimmen Sie das arithmetische Mittel, den Median, die Varianz sowie die Standardabweichung des Alters für jeden Familienstand.
# Daten übertragen
df <- data.frame(Familienstand = c(rep("Single", 9),
                                   rep("Verheiratet", 7),
                                   rep("Verwitwet", 7),
                                   rep("Geschieden", 5)),
                 Alter = c(31, 45, 35, 65, 21, 38, 62, 22, 31,
                           72, 39, 62, 59, 25, 44, 54, 
                           80, 68, 65, 40, 78, 69, 75,  
                           31, 65, 59, 58, 50)
                 )

# dplyr
df %>% group_by(Familienstand) %>%
       reframe(Mittel = mean(Alter),
               Median = median(Alter),
               Varianz = var(Alter),
               StdAbw = sd(Alter))
# A tibble: 4 × 5
  Familienstand Mittel Median Varianz StdAbw
  <chr>          <dbl>  <dbl>   <dbl>  <dbl>
1 Geschieden      52.6     58    174.   13.2
2 Single          38.9     35    250.   15.8
3 Verheiratet     50.7     54    251.   15.8
4 Verwitwet       67.9     69    181.   13.5
Welche Gruppe hat den “besten” Mittelwert?
df %>% group_by(Familienstand) %>%
       reframe(Mittel = mean(Alter),
               Median = median(Alter),
               Varianz = var(Alter),
               StdAbw = sd(Alter),
               Skew = psych::skew(Alter, type=2),
               Kurto = psych::kurtosi(Alter, type=2))
# A tibble: 4 × 7
  Familienstand Mittel Median Varianz StdAbw   Skew  Kurto
  <chr>          <dbl>  <dbl>   <dbl>  <dbl>  <dbl>  <dbl>
1 Geschieden      52.6     58    174.   13.2 -1.41   2.03 
2 Single          38.9     35    250.   15.8  0.765 -0.524
3 Verheiratet     50.7     54    251.   15.8 -0.425 -0.313
4 Verwitwet       67.9     69    181.   13.5 -1.76   3.66 

In der Gruppe der Geschiedenen ist die Streuung am geringsten, aber das arithmetische Mittel ist weit vom Median entfernt. Insofern scheint der Mittelwert der Verwitweten am “besten” zu sein, da er sowohl eine geringe Differenz zum Median als auch eine niedrige Varianz und Standardabweichung aufweist. Die Gruppe der Verheirateten weist hingegen die geringste Schiefe auf. Ach hier könnten wir argumentieren, dass dies für den “besten” Mittelwert spräche.

46.8 Lösung zur Aufgabe 44.2.8

a) Vergleichen Sie das arithmetische Mittel, die Standardabweichung, die Skewness und Kurtosis des Blutdrucks zwischen Rauchern und Nichtrauchern.
# Daten übertragen
df <- data.frame(Rauchen = c("ja", "nein", "ja", "ja", "ja", "nein", "nein", 
                             "ja", "nein", "ja", "nein", "ja", "nein",
                             "ja", "nein", "nein", "ja", "nein", "nein", 
                             "nein", "ja", "nein", "ja", "nein", "ja"  ),
                 Alkohol = c("nein", "nein", "ja", "ja", "nein", "nein", "ja", 
                             "ja", "nein", "ja", "nein", "ja", "ja" , "ja", 
                             "nein", "ja", "ja", "nein", "nein", "ja", "ja", 
                             "ja", "nein", "ja", "nein" ),
                 Blutdruck = c(80, 92, 75, 56, 89, 93, 101, 67, 89, 63, 98, 58, 
                               91, 71, 52, 98, 104, 57, 89, 70, 93, 69, 82, 70, 
                               49 )
                 )

# dplyr
df %>% group_by(Rauchen) %>%
       reframe(Mittel = mean(Blutdruck),
               StdAbw = sd(Blutdruck),
               Skew =  psych::skew(Blutdruck, type=2),
               Kurto = psych::kurtosi(Blutdruck, type=2))
# A tibble: 2 × 5
  Rauchen Mittel StdAbw   Skew  Kurto
  <chr>    <dbl>  <dbl>  <dbl>  <dbl>
1 ja        73.9   16.4  0.281 -0.624
2 nein      82.2   16.5 -0.700 -0.935
b) Vergleichen Sie die selben Werte zwischen der Alkohol- und Nicht-Alkoholgruppe.
# dplyr
df %>% group_by(Alkohol) %>%
       reframe(Mittel = mean(Blutdruck),
               StdAbw = sd(Blutdruck),
               Skew =  psych::skew(Blutdruck, type=2),
               Kurto = psych::kurtosi(Blutdruck, type=2))
# A tibble: 2 × 5
  Alkohol Mittel StdAbw   Skew  Kurto
  <chr>    <dbl>  <dbl>  <dbl>  <dbl>
1 ja        77.6   16.4  0.455 -1.32 
2 nein      79.1   17.7 -0.948 -0.804
c) Vergleichen Sie die selben Werte zwischen der Raucher- und Alkoholgruppe, zwischen der Raucher- und Nicht-Alkoholgruppe, der Nichtraucher- und Alkoholgruppe sowie der Nichtraucher- und Nicht-Alkoholgruppe.
# dplyr
df %>% group_by(Alkohol, Rauchen) %>%
       reframe(Mittel = mean(Blutdruck),
               StdAbw = sd(Blutdruck),
               Skew =  psych::skew(Blutdruck, type=2),
               Kurto = psych::kurtosi(Blutdruck, type=2))
# A tibble: 4 × 6
  Alkohol Rauchen Mittel StdAbw   Skew    Kurto
  <chr>   <chr>    <dbl>  <dbl>  <dbl>    <dbl>
1 ja      ja        73.4   17.0  1.01   0.00270
2 ja      nein      83.2   15.1  0.173 -2.87   
3 nein    ja        75     17.8 -1.71   3.21   
4 nein    nein      81.4   18.7 -1.14  -0.748