Zweifaktorielle ANOVA in R

Die One-Way ANOVA ist super, wenn Du einen Einflussfaktor auf eine numerische Zielvariable untersuchen willst. Aber was, wenn Du zwei hast – und wissen möchtest, ob sie gemeinsam oder sogar im Zusammenspiel wirken?

Dann brauchst Du die zweifaktorielle ANOVA, auch Two-Way ANOVA genannt.


Beispiel: Lernmethode und Prüfungsart

Fragestellung:
Hat die Lernmethode (Karteikarten vs. Videos) und die Art der Prüfung (Multiple Choice vs. Essay) einen Einfluss auf die erreichten Punkte?

Und zusätzlich:
Wirken die beiden Faktoren zusammen? Also: Hängt die Effektivität der Lernmethode davon ab, welche Prüfungsart gewählt wurde?


1. Beispieldaten erstellen

# Zwei Faktoren: methode (2 Stufen), pruefungsart (2 Stufen)
set.seed(42)
lerndaten2 <- expand.grid(
methode = c("Karteikarten", "Videos"),
pruefungsart = c("MC", "Essay"),
teilnehmende = 1:20
)

# Punktzahlen simulieren
lerndaten2$punkte <- with(lerndaten2,
ifelse(methode == "Karteikarten" & pruefungsart == "MC", rnorm(20, 80, 5),
ifelse(methode == "Karteikarten" & pruefungsart == "Essay", rnorm(20, 75, 5),
ifelse(methode == "Videos" & pruefungsart == "MC", rnorm(20, 70, 5),
rnorm(20, 68, 5)))))

# Umwandeln in Faktoren
lerndaten2$methode <- factor(lerndaten2$methode)
lerndaten2$pruefungsart <- factor(lerndaten2$pruefungsart)

2. Erste Übersicht

boxplot(punkte ~ methode * pruefungsart, data = lerndaten2,
col = "lightblue", main = "Punkte nach Methode & Prüfungsart",
ylab = "Punktzahl", xlab = "Gruppe")

Damit bekommst Du eine erste visuelle Idee, ob und wo Unterschiede liegen.


3. Voraussetzungen prüfen

a) Normalverteilung der Residuen

modell2 <- aov(punkte ~ methode * pruefungsart, data = lerndaten2)
shapiro.test(residuals(modell2))
qqnorm(residuals(modell2))
qqline(residuals(modell2), col = "red")

b) Varianzhomogenität

library(car)
leveneTest(punkte ~ methode * pruefungsart, data = lerndaten2)

Hinweis: Wenn Voraussetzungen verletzt → ggf. Transformation oder robustere Verfahren (z. B. welch.test() aus dem rstatix-Paket).


4. Modell schätzen: Two-Way ANOVA

# Modell mit Haupteffekten und Interaktion
modell2 <- aov(punkte ~ methode * pruefungsart, data = lerndaten2)
summary(modell2)

Beispielausgabe:

rCopyEdit                       Df Sum Sq Mean Sq F value   Pr(>F)    
methode                 1   760     760   18.3     0.0001 ***
pruefungsart            1   420     420   10.1     0.0025 **
methode:pruefungsart    1    95      95    2.3     0.14    
Residuals              76  3150      41

5. Interpretation

Definition (Box):
Haupteffekt: Einfluss eines Faktors unabhängig vom anderen
Interaktion: Wirkung des einen Faktors hängt vom anderen ab

In unserem Beispiel:

  • Beide Haupteffekte signifikant → Methode und Prüfungsart beeinflussen Punkte
  • Keine signifikante Interaktion → Der Effekt der Lernmethode ändert sich nicht je nach Prüfungsart

6. Visualisierung der Interaktion

library(ggplot2)

ggplot(lerndaten2, aes(x = methode, y = punkte, fill = pruefungsart)) +
stat_summary(fun = mean, geom = "bar", position = "dodge") +
stat_summary(fun.data = mean_se, geom = "errorbar",
position = position_dodge(width = 0.9), width = 0.2) +
theme_minimal() +
labs(title = "Durchschnittliche Punktzahl",
y = "Punkte", x = "Lernmethode")

Interpretation:

  • Parallele Balken → Keine Interaktion
  • Kreuzende Balken → Mögliche Interaktion (visuell prüfen!)

7. Post-hoc-Tests (optional)

Wenn Du mehr als 2 Stufen pro Faktor hast, brauchst Du Post-hoc-Tests (z. B. TukeyHSD(), emmeans). Hier aber nicht nötig, da jede Variable nur zwei Gruppen hat.


Zusammenfassung: Two-Way ANOVA in R

SchrittWas Du machst
1.Datensatz vorbereiten (zwei Faktoren)
2.Voraussetzungen testen (Normalität, Levene)
3.Modell berechnen mit aov()
4.Haupteffekte und Interaktionen interpretieren
5.Visualisieren mit ggplot2

Q&A – Teste Dein Wissen

Frage 1: Wann brauchst Du eine zweifaktorielle ANOVA?
Antwort: Wenn Du zwei kategoriale Einflussgrößen auf eine metrische Zielgröße untersuchen willst.

Frage 2: Was ist eine Interaktion?
Antwort: Wenn sich der Effekt eines Faktors je nach Stufe des anderen Faktors verändert.

Frage 3: Muss man immer Post-hoc-Tests machen?
Antwort: Nur wenn mehr als zwei Gruppen pro Faktor vorhanden sind und Haupteffekte signifikant sind.

Frage 4: Was zeigt Dir der Levene-Test?
Antwort: Ob die Gruppen homogene Varianzen haben – eine Voraussetzung für ANOVA.

Frage 5: Welche Funktion rechnest Du für eine Two-Way ANOVA in R?
Antwort: aov(punkte ~ faktor1 * faktor2, data = datensatz)

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!

Stelle Dominik eine Frage