R: ANOVA, ANCOVA, MANOVA
Gerade wenn man eher grafische Programme wie SPSS gewohnt ist, mag die Durchführung einer ANOVA in SPSS weniger intuitiv erscheinen. Statt Dialogfenster bietet R vielleicht nur eine Konsole, allerdings lassen sich dafür auch alle grundlegenden (M)ANOVA-Modelle aus SPSS in R berechnen.
Für die meisten ANOVA-Modelle erwartet R die Daten im Long-Format, daher mit einer Spalte für die abhängige Variable (AV) und einer Spalte für die Gruppe bzw. den Teilnehmenden.
aov
Quadratsummenzerlegung des Typ I. Diese ist nicht zu empfehlen, da es zu verfälschten und fehlerhaften Ergebnissen führen kann. Stattdessen empfehlen wir die Quadratsummenzerlegung des Typ III zu verwenden, die uns im Paket car
zur Verfügung steht.Einfaktorielle ANOVA
Eine einfaktorielle ANOVA kann einfach mit die Funktion oneway.test()
durchgeführt werden. R berechnet standardmäßig die robustere Welch-ANOVA. Sollte dies nicht gewünscht sein, kann man mit var.equal=TRUE
das klassische ANOVA-Modell berechnen lassen.
oneway.test(AV ~ Gruppe, data=Daten)
# Beide Modelle unterhalb sind identisch
oneway.test(AV ~ Gruppe, data=Daten, var.equal=TRUE)
summary(aov(AV ~ Gruppe, data=Daten))
Einfaktorielle ANCOVA
Wollen wir noch eine (oder mehrere) Kovariaten in unser Modell aufnehmen, müssen wir die Formel entsprechend erweitern.
library(car)
Modell <- aov(AV ~ Gruppe + Kovariate, data=Daten)
Anova(Modell, type=3)
Zweifaktorielle ANOVA (beides Zwischensubjektfaktoren)
Hier haben wir eine zweifaktorielle ANOVA mit zwei Zwischensubjektfaktoren, Faktor1 und Faktor2, sowie deren Interaktion.
library(car)
# Beide Modelle sind identisch
Modell <- aov(AV ~ Faktor1 + Faktor2 + Faktor1 : Faktor2, data=Daten)
Modell <- aov(AV ~ Faktor1 * Faktor2, data=Daten)
Anova(Modell, type=3)
ANOVA mit Messwiederholung
Unten haben wir eine ANOVA mit Messwiederholung, mit einem Innersubjektfaktor.
library(car)
Modell <- aov(AV ~ Faktor + Error(Subjekt/Faktor), data=Daten)
Anova(Modell, type=3)
Zweifaktorielle ANOVA mit Messwiederholung
Unser Modell von oben können wir um einen (oder mehrere) Innersubjektfaktoren erweitern.
library(car)
Modell <- aov(AV ~ Faktor1 * Faktor2 + Error(Subjekt/(Faktor1*Faktor2)), data=Daten)
Anova(Modell, type=3)
Mixed ANOVA
Wir können natürlich auch eine Varianzanalyse mit einem Innersubjektfaktor und einem Zwischensubjektfaktor durchführen, so hier.
library(car)
Modell <- aov(AV ~ Zwischensubjektfaktor * Innersubjektfaktor +
Error(Subjekt/Innersubjektfaktor) +
Zwischensubjektfaktor, data=Daten)
Anova(Modell, type=3)
Mixed ANOVA mit mehreren Faktoren
Wir können unser Modell auch noch so erweitern, dass wir zwei Innersubjektfaktoren und zwei Zwischensubjektfaktoren haben. Unser Modell wäre dann wie unten definiert.
library(car)
Modell <- aov(AV ~ Zwischensubjektfaktor1 * Zwischensubjektfaktor2 *
Innersubjektfaktor1 * Innersubjektfaktor2 +
Error(Subjekt/(Innersubjektfaktor1 * Innersubjektfaktor2)) +
Zwischensubjektfaktor1 * Zwischensubjektfaktor2, data=Daten)
Anova(Modell, type=3)
MANOVA
Multivariate Varianzanalysen werden ganz ähnlich zu den oben genannten Modellen definiert. Der Hauptunterschied hier ist, dass wir statt aov()
die Funktion manova()
verwenden und mehr als eine abhängige Variable haben. Diese gruppieren wir über cbind()
und definieren unser Modell wie gewohnt. In unseren Beispielen haben wir jeweils drei abhängige Variablen AV1, AV2 und AV3.
library(car)
# Einfaktorielle MANOVA mit drei abhängigen Variablen
Modell <- manova(cbind(AV1, AV2, AV3) ~ Faktor, data=Daten)
# Einfaktorielle MANOVA mit Messwiederholung
Modell <- manova(cbind(AV1, AV2, AV3) ~ Faktor + Error(Subjekt/Faktor), data=Daten)
# mixed MANOVA mit einem Innersubjektfaktor und einem Zwischensubjektfaktor
Modell <- manova(cbind(AV1, AV2, AV3) ~ Zwischensubjektfaktor * Innersubjektfaktor +
Error(Subjekt/Innersubjektfaktor) +
Zwischensubjektfaktor, data=Daten)
Anova(Modell, type=3, test.statistic="Wilks")