Die Grundidee der ANCOVA ist es, eine ANOVA unter Kontrolle für den Einfluss einer (oder mehrerer) anderen metrischen Variablen (z.B. dem Ausgangsniveau, der Prä-Messung, ...) durchzuführen (Logik der multiplen Regression). Dabei gibt es zwei "Hintergründe" der ANCOVA zu beachten:

1. Die ANCOVA wurde vor dem Hintergrund experimentell manipulierter und randomisierter Faktoren entwickelt. Bei allen Faktoren, die du nicht manipuliert und randomisiert hast (sondern wo sich die Proband:innen z.B. selbst einer Gruppe zugeordnet haben), solltest du über mögliche kausale Prozesse zwischen Kovariate und beobachteter Faktorstufe (Gruppenzugehörigkeit) nachdenken.

2. Es ist auch die zentrale Annahme der klassischen ANCOVA ist, dass die Kovariate nicht mit den (between-) Faktoren interagiert, sie die (between-) Effekte also nicht moderiert ( = die Größe des (between-) Effekts würde nicht von der Ausprägung der Kovariate abhängen). Ob das eine sinnvolle Annahme ist, muss ebenfalls inhaltlich geprüft werden. Im Package afex (s.u.) kann man aber auch eine "ANCOVA" rechnen, bei der eine Interaktion der Kovariaten mit den within-Faktoren (aber nicht den between-Faktoren) zugelassen wird. Das ist meistens inhaltlich sinnvoll.


in der Software R gibt es mehrere Möglichkeiten, eine ANCOVA zu rechnen:

in afex (gängiges ANOVA-package, kann alle within/between/mixed ANOVA designs). Hinweis: Afex nimmt automatisch (man kann es nicht ausschalten!) auch alle Interaktionen der Kovariaten mit den within-faktoren mit auf (inhaltlich meistens sinnvoll).

# ANCOVA: adding a covariate (necessary to set factorize = FALSE) + Preferably center Covariate with

aov_ez("id", "value", obk.long, between = c("treatment", "gender"),

within = c("phase", "hour"), covariate = "age",

observed = c("gender", "age"), factorize = FALSE)


in base r (für alle Designs mit maximal 2-stufigen Faktoren und full-between zu empfehlen)
lm() funktion für die multiple Regression (Siehe Abschnitt Regression in diesem Kurs)

in lme4: (Siehe Abschnitt Multilevelmodelle in diesem Kurs)
Bei Messwiederholung (also within-Faktoren) bietet es sich manchmal auch an, ein Random-Intercept-Fixed-Slope Multilevel-Modell rechnen und dort Kovariaten als Level-2 Prädiktoren aufnehmen. 

Nerdfact: Wenn man die ANCOVA als Multilevelmodell (Linear Mixed-Effects Model) versteht, sieht auch, weshalb dass die Kovariate (ohne Interaktion) bei den within-Faktoren lediglich Varianz am random intercept erklärt und damit keine "verbesserte" statistische Kontrolle über den random intercept (den Personenfaktor in der ANCOVA) hinaus liefert.

Modifié le: mercredi 19 juin 2024, 10:47