Du weißt bereits, was eine Varianzanalyse (ANOVA) ist und wann man sie verwendet. Jetzt wird’s praktisch: Du bekommst einen vollständigen Workflow für die One-Way ANOVA in R – inklusive Voraussetzungstests, Modell, Post-hoc-Tests und Grafiken.
Das Beispiel: Lernmethoden und Prüfungserfolg
Stell Dir vor, Du willst herausfinden, ob sich verschiedene Lernmethoden auf die Testergebnisse von Studierenden auswirken. Du hast drei Gruppen:
- Karteikarten
- Videos
- Gruppenarbeit
Hier sind die fiktiven Daten dazu:
# Beispiel-Daten erstellen
lerndaten <- data.frame(
methode = factor(rep(c("Karteikarten", "Videos", "Gruppenarbeit"), each = 10)),
punkte = c(78, 85, 80, 82, 75, 79, 84, 81, 77, 76, # Karteikarten
72, 70, 68, 74, 69, 71, 67, 73, 70, 69, # Videos
90, 88, 87, 85, 91, 89, 92, 90, 86, 88) # Gruppenarbeit
)
1. Daten erkunden
Ein erster Überblick hilft, die Daten zu verstehen:
summary(lerndaten)
boxplot(punkte ~ methode, data = lerndaten,
col = "lightblue", main = "Punkte nach Lernmethode",
ylab = "Punktzahl", xlab = "Methode")
Du bekommst eine erste Idee, ob Unterschiede sichtbar sind.
2. Voraussetzungen testen
Bevor wir loslegen: Die ANOVA setzt bestimmte Bedingungen voraus. Prüfen wir die Schritt für Schritt.
Definition (Box):
Voraussetzungen für die One-Way ANOVA:
- Normalverteilung der Residuen
- Varianzhomogenität
- Unabhängigkeit der Beobachtungen
a) Normalverteilung prüfen
# Residuen extrahieren
modell <- aov(punkte ~ methode, data = lerndaten)
residuen <- residuals(modell)
# QQ-Plot
qqnorm(residuen)
qqline(residuen, col = "red")
# Shapiro-Wilk-Test
shapiro.test(residuen)
Interpretation:
- Punkte auf QQ-Linie → gut
- $p > 0{,}05$ beim Shapiro-Test → Normalverteilung ok
b) Varianzhomogenität prüfen
install.packages("car") # nur beim ersten Mal
library(car)
leveneTest(punkte ~ methode, data = lerndaten)
Interpretation:
- $p > 0{,}05$ → gleiche Varianzen
- $p < 0{,}05$ → besser Welch-ANOVA verwenden
c) Unabhängigkeit prüfen
Diese Voraussetzung muss inhaltlich geprüft werden.
Wichtig: Jede Person darf nur einer Gruppe zugeordnet sein und nur einmal gemessen werden.
3. One-Way ANOVA durchführen
# ANOVA rechnen
modell <- aov(punkte ~ methode, data = lerndaten)
summary(modell)
Beispielausgabe:
Df Sum Sq Mean Sq F value Pr(>F)
methode 2 1022.1 511.1 24.52 1.2e-06 ***
Residuals 27 562.2 20.8
Definition (Box):
F-Wert: Verhältnis von erklärter zu unerklärter Varianz.
p-Wert: Wahrscheinlichkeit, dass ein so großer F-Wert zufällig entsteht.
Ergebnis:
Die Unterschiede sind statistisch signifikant ($p < 0{,}001$).
4. Post-hoc-Test: Welche Gruppen unterscheiden sich?
TukeyHSD(modell)
Beispielausgabe:
cssCopyEdit diff lwr upr p adj
Videos-Karteikarten -9.40 -13.97 -4.83 0.0002
Gruppenarbeit-Kartei 9.80 5.23 14.37 0.0001
Gruppenarbeit-Videos 19.20 13.63 24.77 0.0000
Interpretation:
Alle Gruppen unterscheiden sich signifikant voneinander.
5. Bonus: Visualisierung mit ggplot2
library(ggplot2)
ggplot(lerndaten, aes(x = methode, y = punkte)) +
geom_boxplot(fill = "lightgreen") +
theme_minimal() +
labs(title = "Prüfungserfolg nach Lernmethode",
x = "Lernmethode", y = "Punkte")
Zusammenfassung: One-Way ANOVA in 5 Schritten
Schritt | Was passiert? |
---|---|
1. | Daten vorbereiten und anschauen |
2. | Voraussetzungen testen (Normalität, Varianz, Unabhängigkeit) |
3. | aov() verwenden |
4. | Ergebnisse interpretieren |
5. | TukeyHSD() für Post-hoc-Vergleiche |
Q&A – Teste Dein Wissen
Frage 1: Warum prüft man die Voraussetzungen vor der ANOVA?
Antwort: Weil sonst die Testergebnisse verzerrt oder ungültig sein können.
Frage 2: Was bedeutet ein signifikanter F-Wert?
Antwort: Dass sich mindestens eine Gruppe signifikant vom Rest unterscheidet.
Frage 3: Wann brauchst Du einen Post-hoc-Test?
Antwort: Wenn die ANOVA signifikant ist und Du wissen willst, welche Gruppen sich unterscheiden.
Frage 4: Wie testest Du die Normalverteilung der Residuen in R?
Antwort: Mit shapiro.test(residuen)
oder einem QQ-Plot.
Frage 5: Wie überprüfst Du die Varianzhomogenität?
Antwort: Mit dem leveneTest()
aus dem car-Paket.
Alles klar?
Ich hoffe, der Beitrag war für dich soweit verständlich. Wenn du weitere Fragen hast, nutze bitte hier die Möglichkeit, eine Frage an mich zu stellen!