In vielen psychologischen Studien misst man mehrmals dieselben Personen – z. B. vor, während und nach einer Intervention. Du möchtest wissen: Gibt es über die Zeit hinweg einen Effekt?
Dann brauchst Du die ANOVA mit Messwiederholung, auch Repeated Measures ANOVA genannt.
Beispiel: Achtsamkeitstraining und Stress
Fragestellung:
Verändert sich das Stressniveau bei Teilnehmenden über die Zeit hinweg – also vor, während und nach einem Achtsamkeitstraining?
1. Beispieldaten erzeugen
# Simulierte Daten: 15 Personen, 3 Messzeitpunkte
set.seed(123)
daten <- data.frame(
id = factor(1:15),
vor = rnorm(15, mean = 75, sd = 5),
waehrend = rnorm(15, mean = 70, sd = 5),
nach = rnorm(15, mean = 65, sd = 5)
)
# Daten ins Long-Format umwandeln
library(tidyr)
daten_long <- pivot_longer(daten, cols = vor:nach,
names_to = "zeitpunkt", values_to = "stress")
daten_long$zeitpunkt <- factor(daten_long$zeitpunkt, levels = c("vor", "waehrend", "nach"))
2. Erste Visualisierung
library(ggplot2)
ggplot(daten_long, aes(x = zeitpunkt, y = stress, group = id)) +
geom_line(alpha = 0.5) +
stat_summary(aes(group = 1), fun = mean, geom = "line", color = "red", size = 1.2) +
theme_minimal() +
labs(title = "Stressniveau über die Zeit", y = "Stress", x = "Messzeitpunkt")
Interpretation: Die rote Linie zeigt den Mittelwert über alle Personen hinweg – sinkt sie, wirkt das Training!
3. Modell mit aov()
berechnen
modell_rm <- aov(stress ~ zeitpunkt + Error(id/zeitpunkt), data = daten_long)
summary(modell_rm)
Beispielausgabe:
Df Sum Sq Mean Sq F value Pr(>F)
Residuals 14 2850 203.57
Error: id:zeitpunkt
Df Sum Sq Mean Sq F value Pr(>F)
zeitpunkt 2 750 375.0 18.34 0.00012 ***
Residuals 28 572 20.4
4. Interpretation
Definition (Box):
Messwiederholungs-ANOVA prüft, ob sich die Mittelwerte einer Gruppe über verschiedene Zeitpunkte hinweg signifikant verändern – unter Berücksichtigung der Abhängigkeit der Messwerte (gleiche Personen).
- Der F-Wert ist 18.34
- Der p-Wert ist sehr klein ($p < 0{,}001$)
Fazit: Das Stressniveau hat sich signifikant verändert – vermutlich gesunken!
5. Voraussetzungen prüfen
a) Normalverteilung der Differenzen
Die ANOVA geht davon aus, dass die Differenzen zwischen Zeitpunkten normalverteilt sind. Eine einfache Möglichkeit:
with(daten, shapiro.test(vor - waehrend))
with(daten, shapiro.test(waehrend - nach))
$p > 0{,}05$ → Normalverteilung ok
b) Sphärizität (nur bei ≥ 3 Zeitpunkten)
Sphärizität bedeutet, dass die Varianzen der Differenzen zwischen allen Zeitpunkten gleich sind.
Wird mit dem Mauchly-Test geprüft.
# Paket installieren:
install.packages("ez")
library(ez)
# Repeated Measures ANOVA mit Mauchly-Test
ezANOVA(data = daten_long, dv = .(stress), wid = .(id),
within = .(zeitpunkt), detailed = TRUE)
Falls Sphärizität verletzt ist, liefert Dir ezANOVA()
gleich die Greenhouse-Geisser-Korrektur mit.
6. Post-hoc-Tests: Welche Zeitpunkte unterscheiden sich?
pairwise.t.test(daten_long$stress, daten_long$zeitpunkt,
paired = TRUE, p.adjust.method = "bonferroni")
Interpretation: Du siehst alle paarweisen Vergleiche (vor – während, vor – nach, während – nach) und erkennst, welche Unterschiede signifikant sind.
Zusammenfassung: Repeated Measures ANOVA in R
Schritt | Was Du machst |
---|---|
1. | Datensatz im Wide-Format erstellen und ins Long-Format bringen |
2. | Visualisieren mit ggplot2 |
3. | aov() mit Error(id/zeitpunkt) |
4. | Voraussetzungen prüfen (Normalverteilung, Sphärizität) |
5. | pairwise.t.test() für Post-hoc-Vergleiche |
Q&A – Teste Dein Wissen
Frage 1: Wann brauchst Du eine Messwiederholungs-ANOVA?
Antwort: Wenn Du mehrmals dieselben Personen misst (z. B. vor, während, nach einer Intervention).
Frage 2: Was bedeutet Sphärizität?
Antwort: Dass die Varianz der Differenzen zwischen Zeitpunkten gleich ist.
Frage 3: Welche Funktion nutzt Du für Repeated Measures in R?
Antwort: aov(... + Error(id/zeitpunkt))
Frage 4: Wie visualisierst Du Veränderungen über Zeitpunkte in R?
Antwort: Mit ggplot2
und Linien für jede Person plus Durchschnitt.
Frage 5: Was zeigt Dir ein signifikanter Post-hoc-Test?
Antwort: Welche einzelnen Zeitpunkte sich signifikant voneinander unterscheiden.