Einleitung

In dieser Übung wendest du folgende R Funktionen an, um zentrale Tendenzen zu vergleichen:

  • t.test() für Ein- und Zweistichproben t-Tests
  • wilcox.test() für den Wilcoxon test und den Mann-Withney-U Test

Zusätzlich werden einige Funktionen der deskriptiven Statistik repetiert.


Datensatz

In einer longitudinalen Studie wurde untersucht, wie sich der IQ bei Menschen, welche im Koma lagen, erholt. Aufgrund vieler fehlender Werte (missing values), wurde der Original-Datensatz für diese Übung gekürzt. Der Datensatz “IQ_recovery.csv” umfasst folgende Variablen:

  • days: IQ-Messzeitpunkt: Anzahl Tage seit dem Koma
  • duration: Dauer des Komas in Tagen
  • sex: Geschlecht: «Female», «Male»
  • age: Alter zum Zeitpunkt der Verletzung
  • Piq_1: Performance IQ (z.B. mathematischer), Zeitpunkt 1
  • viq_1: Verbaler IQ, Zeitpunkt 1
  • Piq_2 Performance IQ (z.B. mathematischer), Zeitpunkt 2
  • viq_2 Verbaler IQ, Zeitpunkt 2


Höhere Punkte entsprechen einem besser IQ.

Übung 1

Aufgabe

Importiere den Datensatz und speichere ihn in einem Objekt ab. Gib dem Objekt einen kurzen aber treffenden Namen. Schau dir die Struktur des Datensatzes an.

Lösung

Ich habe den Datensatz IQ genannt:

library("rio")
IQ <- import("../Data/IQ_recovery.csv")
str(IQ)
## 'data.frame':    61 obs. of  9 variables:
##  $ duration: int  21 94 42 17 60 9 14 20 28 9 ...
##  $ sex     : chr  "Male" "Male" "Female" "Female" ...
##  $ age     : num  22 20.1 27.3 19.7 17.8 ...
##  $ days_1  : int  1491 85 907 146 453 3333 187 525 56 65 ...
##  $ piq_1   : int  71 63 63 65 59 86 97 79 65 67 ...
##  $ viq_1   : int  94 82 64 98 81 80 97 87 75 67 ...
##  $ days_2  : int  3412 576 2259 216 684 3337 438 884 236 189 ...
##  $ piq_2   : int  68 91 78 74 66 101 98 87 85 79 ...
##  $ viq_2   : int  92 96 79 100 75 84 94 93 88 82 ...


Übung 2

Aufgabe

Gibt es Variablen, bei welchen der Datentyp angepasst werden sollte? Führe diese Anpassungen durch, wenn nötig.


Lösung

Die Variable sex ist eine kategoriale Variable und sollte in einen Factor umgewandelt werden.

IQ$sex <- factor(IQ$sex)
str(IQ)
## 'data.frame':    61 obs. of  9 variables:
##  $ duration: int  21 94 42 17 60 9 14 20 28 9 ...
##  $ sex     : Factor w/ 2 levels "Female","Male": 2 2 1 1 2 2 2 2 2 2 ...
##  $ age     : num  22 20.1 27.3 19.7 17.8 ...
##  $ days_1  : int  1491 85 907 146 453 3333 187 525 56 65 ...
##  $ piq_1   : int  71 63 63 65 59 86 97 79 65 67 ...
##  $ viq_1   : int  94 82 64 98 81 80 97 87 75 67 ...
##  $ days_2  : int  3412 576 2259 216 684 3337 438 884 236 189 ...
##  $ piq_2   : int  68 91 78 74 66 101 98 87 85 79 ...
##  $ viq_2   : int  92 96 79 100 75 84 94 93 88 82 ...

Übung 3

Als erstes soll untersucht werden, ob sich der Performance IQ piq zwischen den beiden Zeitpunkten verändert.

Aufgaben

  1. Berechne die Differenz zwischen den beiden Zeitpunkten. Füge die Variable dem Datensatz hinzu.
  2. Stelle die berechnete Variable mit zwei unterschiedlichen Methoden grafisch dar. Beschreibe die Verteilung in 1-2 Sätzen.
  3. Wie lauten die Hypothesen für die oben stehende Fragestellung?
  4. Prüfe die Null-Hypothese mit einen parametrischen Test.
  5. Prüfe die Null-Hypothese mit einem nicht-parametrischen Test.
  6. Formuliere eine Antwort auf die Fragestellung mit Hilfe der durchgeführten Schritte 2. bis 5.

Lösungn

  1. Berechne die Differenz zwischen den beiden Zeitpunkten. Füge die Variable dem Datensatz hinzu.
IQ$piq_diff <- IQ$piq_2 - IQ$piq_1

In diesem Fall bedeuten positive Werte, dass sich der IQ verbessert hat.


  1. Stelle die berechnete Variable mit zwei unterschiedlichen Methoden grafisch dar. Beschreibe die Verteilung in 1-2 Sätzen.
boxplot(IQ$piq_diff)

Die Verteilung ist ungefähr symmetrisch. Es hat nach oben wenige Ausreisser, weshalb die Verteilung leicht (aber nicht dramatisch) rechts-schief ist.


qqnorm(IQ$piq_diff)
qqline(IQ$piq_diff)

Der QQ-Plot bestätigt unsere Annahme von oben. Insgesamt weicht die Verteilung nicht stark von einer Normalverteilung ab.


  1. Wie lauten die Hypothesen für die oben stehende Fragestellung?

\[H_{0}: \mu = 0\] \[H_{A}: \mu \ne 0\]


  1. Prüfe die Null-Hypothese mit einen parametrischen Test.


Weil es sich hier um abhängige Daten handelt, wird ein gepaarter t-Test durchgeführt. Weil wir die Differenz bereits oben berechnet haben, können wir diese Differenz mit den Referenzwert 0 vergleichen (was einem Einstichproben t-Test entspricht). Beide führt zum gleichen Resultat:

t.test(IQ$piq_2, IQ$piq_1, paired = TRUE)
## 
##  Paired t-test
## 
## data:  IQ$piq_2 and IQ$piq_1
## t = 10, df = 60, p-value = 3e-14
## alternative hypothesis: true mean difference is not equal to 0
## 95 percent confidence interval:
##   8.94 13.48
## sample estimates:
## mean difference 
##            11.2


oder

t.test(IQ$piq_diff)
## 
##  One Sample t-test
## 
## data:  IQ$piq_diff
## t = 10, df = 60, p-value = 3e-14
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
##   8.94 13.48
## sample estimates:
## mean of x 
##      11.2

Der p-Wert ist sehr klein, weshalb \(H_{0}\) bei einem \(\alpha\)-Level von 5% zugunsten von \(H_{A}\) verworfen wird.


  1. Prüfe die Null-Hypothese mit einem nicht-parametrischen Test.

Auch hier kann man einen gepaarten Wilcoxon Test machen, oder einen Wilcoxen Test mit der Differenz. Beide kommen zum gleichen Ergebnis:

wilcox.test(IQ$piq_2, IQ$piq_1, paired = TRUE)
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  IQ$piq_2 and IQ$piq_1
## V = 1742, p-value = 1e-10
## alternative hypothesis: true location shift is not equal to 0


oder

wilcox.test(IQ$piq_diff)
## 
##  Wilcoxon signed rank test with continuity correction
## 
## data:  IQ$piq_diff
## V = 1742, p-value = 1e-10
## alternative hypothesis: true location is not equal to 0

Der p-Wert ist sehr klein, weshalb \(H_{0}\) bei einem \(\alpha\)-Level von 5% zugunsten von \(H_{A}\) verworfen wird.


  1. Formuliere eine Antwort auf die Fragestellung mit Hilfe der durchgeführten Schritte 2. bis 5.

Die Verteilung der Differenzen des Performance IQs ist ca. symmetrisch und weicht nicht dramatisch von einer Normalverteilung ab. Die mittlere Verbesserung des Performance IQ’s beträgt 11.2 Punkte [8.94; 13.48]. Diese mittlere Differenz weicht statistisch signifikant von 0 ab (t = 10, df = 60, p < 0.001). Es besteht somit Evidenz gegen \(H_{0}\), dass sich der IQ nach einem Koma nicht mehr verändert. Das nicht-parametrische Verfahren untermauert diese Aussage.


Übung 4

Es soll untersucht werden, ob die Veränderung des Performance IQ’s nach einem Koma abhängig vom Geschlehcht ist.

Aufgaben

  1. Stelle die zu analysierende Variable mit zwei unterschiedlichen Methoden grafisch dar. Beschreibe die Verteilungen in 1-2 Sätzen.
  2. Wie lauten die Hypothesen für die oben stehende Fragestellung?
  3. Prüfe die Null-Hypothese mit einen parametrischen Test.
  4. Prüfe die Null-Hypothese mit einem nicht-parametrischen Test.
  5. Formuliere eine Antwort auf die Fragestellung mit Hilfe der durchgeführten Schritte 1. bis 5.

Lösungen

  1. Stelle die zu analysierende Variable mit zwei unterschiedlichen Methoden grafisch dar. Beschreibe die Verteilungen in 1-2 Sätzen.
boxplot(IQ$piq_diff ~ IQ$sex)

Sowohl die zentrale Tendenz sowie die Verteilung unterscheiden sich kaum zwischen den beiden Gruppen. Die Verteilungen sind symmetrisch mit wenigen Ausreissern nach oben.


Um QQ-Plots pro Gruppe erstellen zu können, müssen zuerst subsets erstellt werden:

IQ_male <- subset(IQ, sex == "Male")
IQ_female <- subset(IQ, sex == "Female")

Männer:

qqnorm(IQ_male$piq_diff)
qqline(IQ_male$piq_diff)

Frauen:

qqnorm(IQ_female$piq_diff)
qqline(IQ_female$piq_diff)

Auch hier sind die Ausreisser nach oben zu sehen, die Verteilungen unterscheiden sich aber nicht dramatisch von einer Normalverteilung.


  1. Wie lauten die Hypothesen für die oben stehende Fragestellung?

\[H_{0}: \mu_{male} = \mu_{female}\]

\[H_{A}: \mu_{male} \ne \mu_{female}\]


  1. Prüfe die Null-Hypothese mit einen parametrischen Test.


Weil die Männer und Frauen unabhängig sind voneinander, brauchen wir einen Zweistichproben t-Test:

t.test(IQ$piq_diff ~ IQ$sex)
## 
##  Welch Two Sample t-test
## 
## data:  IQ$piq_diff by IQ$sex
## t = -0.08, df = 24, p-value = 0.9
## alternative hypothesis: true difference in means between group Female and group Male is not equal to 0
## 95 percent confidence interval:
##  -6.07  5.65
## sample estimates:
## mean in group Female   mean in group Male 
##                 11.1                 11.3

  1. Prüfe die Null-Hypothese mit einem nicht-parametrischen Test.


    Aus dem selben Grund wie oben, brauchen wir den Mann-Whitney-U Test. Es ist etwas verwirrend, das dieser in R auch wilcox.test() heisst, einfach ohne das paired = TRUE.
wilcox.test(IQ$piq_diff ~ IQ$sex)
## 
##  Wilcoxon rank sum test with continuity correction
## 
## data:  IQ$piq_diff by IQ$sex
## W = 356, p-value = 0.8
## alternative hypothesis: true location shift is not equal to 0

  1. Formuliere eine Antwort auf die Fragestellung mit Hilfe der durchgeführten Schritte 1. bis 5.


Die Verteilung der Differenzen des Performance IQs ist bei beiden Gruppen ca. symmetrisch und weicht nicht dramatisch von einer Normalverteilung ab. Die mittlere Verbesserung des Performance IQ’s beträgt 11.1 Punkte bei den Frauen und 11.3 Punkte bei den Männern. Die Mittelwertsdifferenz beträgt somit -0.2 Punkte [-6.07; 5.65] und weicht nicht statistisch signifikant von 0 ab (t = -0.08, df = 24, p = 0.9). Es besteht somit keine Evidenz gegen \(H_{0}\), dass sich der Performance IQ nach einem Koma bei Männern und Frauen nicht unterschiedlich verändert. Das nicht-parametrische Verfahren untermauert diese Aussage.

Manuelle Berechnung des Standardfehlers

Beim einstichproben t-Test analysieren wir eine Variable (dies kann auch eine Differenz sein). Wir verlgeichen dabei den Mittelwert dieser Variable mit einem Null-Wert. Um eine Teststatistik (z.B. \(t\)) oder Konfidenzintervalle zu berechnen, brauchen wir einen Standardfehler. Weil wir nur eine Variable haben, können wir für diese Variable den Standardfehler wie folgt berechnen:

\[SE = \frac{sd}{\sqrt{n}}\]


Beim zweistichproben t-Test analysieren wir zwei Variablen (von zwei unabhängigen Gruppen). Wir vergleichen den Mittelwert der einen Variable mit dem Mittelwert der anderen Variable. Was dabei interessiert ist also die Mittelwertsdifferenz. Um eine Teststatistik (z.B. \(t\)) oder Konfidenzintervalle zu berechnen, brauchen wir wiederum den Standardfehler. Konkret brauchen wir den Standardfehler für die Mittelwertsdifferenz. Weil diese Mittelwertsdifferenz jedoch aus Daten von zwei unabhängigen Gruppen entsteht, muss man die zwei Standardfehler der beiden Gruppen “poolen”. Ich gehe an dieser Stelle nicht auf die Details ein sondern zeige einfach die Formel, wie man den Standardfehler für eine Mittelwertsdifferenz berechnet, wenn die beiden Gruppen gleich gross sind:

\[SE_{Mittelwertsdifferenz} = \sqrt{SE_{Gruppe1}^2 + SE_{Gruppe2}^2}\]