Two-way ANOVA
Vergelijkt het gemiddelde van een meting tussen de groepen die door twee factoren worden gevormd, en toetst of het effect van de ene factor afhangt van de andere (een interactie).
Klinisch voorbeeld
Gemiddeld hemoglobine een week na behandeling met een van twee ijzersupplementen, bij mannen en bij vrouwen. Twee factoren (supplement en geslacht), één meting per patiënt, en de vraag is of het supplement bij mannen anders werkt dan bij vrouwen.
Wanneer te gebruiken
- De uitkomst is een meting op een continue schaal, één per patiënt.
- De groepen worden gevormd door twee categorische factoren te combineren, zoals supplement en geslacht, en elke patiënt zit in één combinatie.
- U wilt het effect van elke factor, of u wilt weten of het effect van de ene factor afhangt van de andere (een interactie).
- Voor één factor gebruikt u one-way ANOVA. Om te corrigeren voor een baselinewaarde of voor continue variabelen: zie ANCOVA of lineaire regressie.
Aannames om te controleren
Onafhankelijke waarnemingen
Eén waarde per patiënt, en geen clustering. Herhaalde metingen of geclusterde patiënten vragen een gemengd model.
Ongeveer normale residuen, geen extreme uitschieters
Kijk naar een histogram of Q-Q-plot van de residuen. Bij gematigde, even grote groepen is lichte afwijking van normaliteit meestal acceptabel. Eén extreme waarde kan het resultaat nog steeds bepalen. Bij een scheve, altijd positieve uitkomst kan hetzelfde model op logschaal worden gefit, en de effecten zijn dan ratio's.
Gelijke spreiding in elke combinatie
Vergelijk de SD's van de combinaties. Een veel grotere SD in één ervan is een waarschuwingssignaal. Het speelt vooral als de aantallen per combinatie verschillen. Overweeg een transformatie of robuuste (sandwich-)standaardfouten.
Genoeg patiënten in elke combinatie
Lege of zeer kleine combinaties maken de schattingen, en vooral die van de interactie, onstabiel.
Ongelijke aantallen per combinatie
Bij ongelijke aantallen hangt de toets van elke factor af van hoe de kwadratensommen worden berekend. De anova() van R gebruikt sequentiële (type I) toetsen, dus de rijen van de hoofdeffecten hangen af van de volgorde van de termen, terwijl SPSS standaard type III gebruikt. De interactierij is in beide gevallen gelijk. Schattingen en BI's uit het gefitte model (emmeans in R) voorkomen het probleem.
Wat te rapporteren
- Gemiddelde met SD, en het aantal patiënten, voor elke combinatie van de twee factoren
- De toets van de interactie: de F-waarde met beide vrijheidsgraden, en de exacte p-waarde
- Als er geen belangrijke interactie is: het effect van elke factor als verschil in gemiddelden met 95%-BI. Als die er wel is: het effect van de ene factor binnen elk niveau van de andere, met 95%-BI
- Hoe paarsgewijze vergelijkingen zijn gecorrigeerd voor meervoudig toetsen
- Hoe de factoren zijn gecodeerd, en het type kwadratensommen als de aantallen per combinatie verschillen
- Het aantal geanalyseerde patiënten, en hoeveel er zijn weggelaten door ontbrekende data
Veelgemaakte fouten
Draai niet veel afzonderlijke toetsen
Elk paar groepen, elke uitkomst of elk tijdstip apart toetsen stapelt fout-positieven op. Gebruik één model, leg de belangrijkste vergelijking vooraf vast en corrigeer waar nodig voor meervoudig toetsen.
Dichotomiseer een meting niet
Een continue variabele in hoog en laag knippen ("bloeddruk boven 140") gooit informatie en onderscheidend vermogen weg, en de afkapwaarde is vaak willekeurig.
De hoofdeffecten lezen alsof ze voor iedereen gelden terwijl er een interactie is. Het zijn gemiddelden over de niveaus van de andere factor.
Concluderen dat een effect verschilt tussen subgroepen omdat het in de ene significant is en in de andere niet. Toets de interactie, of vergelijk de effecten direct.
Een niet-significante interactie lezen als bewijs dat het effect in elke subgroep gelijk is. Interactietoetsen hebben meestal weinig power.
R- en SPSS-uitvoer met ongelijke groepsgroottes vergelijken zonder te merken dat ze verschillende typen kwadratensommen gebruiken.
In R een factor als getallen (1, 2, 3) coderen zonder er een factor van te maken. Het model past dan één helling toe in plaats van de groepen te vergelijken, en geeft geen foutmelding.
Alternatieven
| Als uw situatie is… | Gebruik |
|---|---|
| Slechts één factor | One-way ANOVA |
| Er is een baselinemeting, zoals in een trial | ANCOVA (adjusting for baseline) |
| U moet corrigeren voor continue variabelen | Linear regression |
| Dezelfde patiënten worden onder elke combinatie gemeten, of patiënten zijn geclusterd | Linear mixed model |
| Ja/nee-uitkomst | Logistic regression |
In uw software
# R
d$supplement <- factor(d$supplement) # factoren, geen getallen
d$sex <- factor(d$sex)
fit <- lm(hb ~ supplement * sex, data = d) # beide factoren en hun interactie
anova(fit) # de rij supplement:sex is de toets van de interactie
nobs(fit) # gebruikte patiënten: ontbrekende waarden vallen stilzwijgend weg
library(emmeans)
# effect van supplement binnen elk geslacht, met 95%-BI (nieuw min standaard)
confint(pairs(emmeans(fit, ~ supplement | sex), reverse = TRUE))
interaction.plot(d$sex, d$supplement, d$hb) # ongeveer evenwijdige lijnen: weinig interactie
* Type III kwadratensommen zijn de SPSS-standaard. EMMEANS vergelijkt supplement binnen elk geslacht.
UNIANOVA hb BY supplement sex
/METHOD=SSTYPE(3)
/PLOT=PROFILE(sex*supplement)
/EMMEANS=TABLES(supplement*sex) COMPARE(supplement)
/PRINT=DESCRIPTIVE HOMOGENEITY
/CRITERIA=ALPHA(.05)
/DESIGN=supplement sex supplement*sex.