Volledige gids: anova-resultaten interpreteren in r
Een eenrichtings-ANOVA wordt gebruikt om te bepalen of er al dan niet een statistisch significant verschil bestaat tussen de gemiddelden van drie of meer onafhankelijke groepen.
Deze tutorial biedt een complete handleiding voor het interpreteren van de resultaten van een eenrichtings-ANOVA in R.
Stap 1: Creëer de gegevens
Stel dat we willen bepalen of drie verschillende trainingsprogramma’s bij individuen tot een verschillend gemiddeld gewichtsverlies leiden.
Om dit te testen, rekruteren we 90 mensen om deel te nemen aan een experiment waarbij we willekeurig 30 mensen toewijzen om een maand lang Programma A, Programma B of Programma C te volgen.
De volgende code creëert het dataframe waarmee we zullen werken:
#make this example reproducible
set. seeds (0)
#create data frame
data <- data. frame (program = rep(c(' A ', ' B ', ' C '), each = 30),
weight_loss = c(runif(30, 0, 3),
runif(30, 0, 5),
runif(30, 1, 7)))
#view first six rows of data frame
head(data)
program weight_loss
1 A 2.6900916
2 A 0.7965260
3 A 1.1163717
4 A 1.7185601
5 A 2.7246234
6 A 0.6050458
Stap 2: Voer de ANOVA uit
Vervolgens zullen we de opdracht aov() gebruiken om een one-way ANOVA uit te voeren:
#fit one-way ANOVA model
model <- aov(weight_loss ~ program, data = data)
Stap 3: Interpreteer de ANOVA-resultaten
Vervolgens zullen we de opdracht summary() gebruiken om de eenrichtings-ANOVA-resultaten weer te geven:
#view summary of one-way ANOVA model
summary(model)
Df Sum Sq Mean Sq F value Pr(>F)
program 2 98.93 49.46 30.83 7.55e-11 ***
Residuals 87 139.57 1.60
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Hier leest u hoe u elke resultaatwaarde interpreteert:
Programma Df: De vrijheidsgraden van het variabele programma . Dit wordt berekend als #groepen -1. In dit geval waren er 3 verschillende trainingsprogramma’s, dus deze waarde is: 3-1 = 2 .
Df Residuals: De vrijheidsgraden voor de residuen. Dit wordt berekend als #totaal observaties – #groepen. In dit geval waren er 90 waarnemingen en 3 groepen, dus deze waarde is: 90 -3 = 87 .
Program Sum Sq: De som van de kwadraten die aan het variabele programma is gekoppeld. Deze waarde bedraagt 98,93 .
Som van kwadratenresiduen: som van kwadraten geassocieerd met residuen of “fouten”. Deze waarde bedraagt 139,57 .
Middelgroot vierkant. Programma: De gemiddelde som van de kwadraten die aan het programma is gekoppeld. Dit wordt berekend als de kwadratische som. programma / programma Df. In dit geval wordt dit berekend als: 98,93 / 2 = 49,46 .
Middelgroot vierkant. Residuen: gemiddelde som van de kwadraten geassocieerd met de residuen. Dit wordt berekend als de kwadratische som. residuen / residuen Df. In dit geval wordt dit als volgt berekend: 139,57 / 87 = 1,60 .
F-waarde: De algemene F-statistiek van het ANOVA-model. Dit wordt berekend als het gemiddelde kwadraat. programma / gemiddelde kwadraat. Residuen. In dit geval wordt het als volgt berekend: 49,46 / 1,60 = 30,83 .
Pr(>F): De p-waarde die is gekoppeld aan de F-statistiek met teller df = 2 en noemer df = 87. In dit geval is de p-waarde 7.552e-11 , wat een extreem klein getal is.
De belangrijkste waarde in de reeks resultaten is de p-waarde, omdat deze ons vertelt of er een significant verschil is in de gemiddelde waarden tussen de drie groepen.
Bedenk dat een eenrichtings-ANOVA de volgende nul- en alternatieve hypothesen gebruikt:
- H 0 (nulhypothese): alle groepsgemiddelden zijn gelijk.
- HA (alternatieve hypothese): Ten minste één groepsgemiddelde verschilt van de andere.
Omdat de p-waarde in onze ANOVA-tabel (.7552e-11) kleiner is dan 0,05, hebben we voldoende bewijs om de nulhypothese te verwerpen.
Dit betekent dat we voldoende bewijs hebben om te zeggen dat het gemiddelde gewichtsverlies dat individuen ervaren niet gelijk is tussen de drie trainingsprogramma’s.
Stap 4: voer post-hoctests uit (indien nodig)
Als de p-waarde in de ANOVA-uitvoer kleiner is dan 0,05, verwerpen we de nulhypothese. Dit vertelt ons dat de gemiddelde waarde tussen elke groep niet gelijk is. Dit vertelt ons echter niet welke groepen van elkaar verschillen.
Om daar achter te komen, moeten we een post-hoctest uitvoeren. In R kunnen we de functie TukeyHSD() gebruiken om dit te doen:
#perform Tukey post-hoc test
TukeyHSD(model)
$program
diff lwr upr p adj
BA 0.9777414 0.1979466 1.757536 0.0100545
CA 2.5454024 1.7656076 3.325197 0.0000000
CB 1.5676610 0.7878662 2.347456 0.0000199
Zo interpreteert u de resultaten:
- De aangepaste p-waarde voor het gemiddelde verschil tussen groep A en B is 0,0100545 .
- De aangepaste p-waarde voor het gemiddelde verschil tussen groep A en C is 0,0000000 .
- De aangepaste p-waarde voor het gemiddelde verschil tussen groepen B en C is 0,0000199 .
Omdat elk van de aangepaste p-waarden kleiner is dan 0,05, kunnen we concluderen dat er tussen elke groep een significant verschil is in gemiddeld gewichtsverlies.
Aanvullende bronnen
Inleiding tot One-Way ANOVA
Hoe u ANOVA-aannames kunt controleren
Hoe u handmatig een eenrichtings-ANOVA uitvoert
One-way ANOVA-calculator