R Language
ANOVA
Zoeken…
Basisgebruik van aov ()
Variantie-analyse (aov) wordt gebruikt om te bepalen of de gemiddelden van twee of meer groepen aanzienlijk van elkaar verschillen. Reacties worden verondersteld onafhankelijk van elkaar te zijn, normaal verdeeld (binnen elke groep), en de varianties binnen de groep worden gelijk geacht.
Om de analyse te voltooien, moeten de gegevens in een lang formaat zijn (zie het onderwerp Gegevens opnieuw vormgeven ). aov()
is een wrapper rond de functie lm()
, met behulp van de notatie y~f
van Wilkinson-Rogers waarbij y
de respons (onafhankelijke) variabele is en f
een factor (categorische) variabele is die groepslidmaatschap vertegenwoordigt. Als f
numeriek is in plaats van een aov()
, rapporteert aov()
de resultaten van een lineaire regressie in ANOVA-indeling, wat onervaren gebruikers kan verrassen.
De functie aov()
gebruikt Type I (opeenvolgende) som van vierkanten. Dit type Sum of Squares test alle (hoofd- en interactie-) effecten achtereenvolgens. Het resultaat is dat aan het eerste geteste effect ook een gedeelde variantie wordt toegekend tussen het en andere effecten in het model. Wil de resultaten van een dergelijk model betrouwbaar zijn, dan moeten de gegevens in evenwicht zijn (alle groepen zijn even groot).
Als de aannames voor Type I Som van vierkanten niet gelden, kan Type II of Type III Som van vierkanten van toepassing zijn. Type II Som van vierkanten test elk hoofdeffect na elk ander hoofdeffect en regelt dus voor elke overlappende variantie. Type II Sum of Squares veronderstelt echter geen interactie tussen de belangrijkste effecten.
Ten slotte test Type III Som van vierkanten elk hoofdeffect na elk ander hoofdeffect en elke interactie. Dit maakt Type III Sum of Squares een noodzaak als er een interactie aanwezig is.
Type II en Type III Sommen van vierkanten worden geïmplementeerd in de functie Anova()
.
De gegevensset mtcars
als voorbeeld gebruiken.
mtCarsAnovaModel <- aov(wt ~ factor(cyl), data=mtcars)
Samenvatting van ANOVA-model bekijken:
summary(mtCarsAnovaModel)
Men kan ook de coëfficiënten van het onderliggende lm()
-model extraheren:
coefficients(mtCarsAnovaModel)
Basisgebruik van Anova ()
Bij een onevenwichtig ontwerp en / of niet-orthogonale contrasten zijn Type II of Type III Som van vierkanten nodig. De Anova()
functie van de car
pakket implementeert deze. Type II Som van vierkanten veronderstelt geen interactie tussen de belangrijkste effecten. Als interacties worden verondersteld, is Type III Sum of Squares geschikt.
De functie Anova()
loopt rond de functie lm()
.
Gebruik de mtcars
gegevenssets als een voorbeeld, waarmee het verschil wordt aangetoond tussen Type II en Type III wanneer een interactie wordt getest.
> Anova(lm(wt ~ factor(cyl)*factor(am), data=mtcars), type = 2)
Anova Table (Type II tests)
Response: wt
Sum Sq Df F value Pr(>F)
factor(cyl) 7.2278 2 11.5266 0.0002606 ***
factor(am) 3.2845 1 10.4758 0.0032895 **
factor(cyl):factor(am) 0.0668 2 0.1065 0.8993714
Residuals 8.1517 26
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
> Anova(lm(wt ~ factor(cyl)*factor(am), data=mtcars), type = 3)
Anova Table (Type III tests)
Response: wt
Sum Sq Df F value Pr(>F)
(Intercept) 25.8427 1 82.4254 1.524e-09 ***
factor(cyl) 4.0124 2 6.3988 0.005498 **
factor(am) 1.7389 1 5.5463 0.026346 *
factor(cyl):factor(am) 0.0668 2 0.1065 0.899371
Residuals 8.1517 26
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1