Skip to content

ANOVA et Kruskal-Wallis ​

Syntaxe ​

r
modele_anova <- aov(age ~ groupe, data = donnees)
summary(modele_anova)

kruskal.test(age ~ groupe, data = donnees)

aov() ajuste une analyse de variance : age ~ groupe signifie que l'on compare age selon les catégories de groupe, et data désigne le tableau contenant ces colonnes. Le résultat est stocké dans modele_anova. summary(modele_anova) affiche le tableau de l'ANOVA, notamment la statistique F et la valeur p. kruskal.test() utilise la même formule et le même tableau pour effectuer le test non paramétrique de Kruskal-Wallis.

Un résultat global significatif indique qu'au moins un groupe diffère, mais ne précise pas lesquels.

Comparaisons post-hoc ​

r
TukeyHSD(modele_anova)                       # après ANOVA
pairwise.wilcox.test(donnees$age, donnees$groupe,
                     p.adjust.method = "holm")  # après Kruskal-Wallis

TukeyHSD(modele_anova) compare les groupes deux à deux à partir du modèle ANOVA. pairwise.wilcox.test(x, g) effectue les comparaisons deux à deux avec x comme mesure (donnees$age) et g comme facteur de groupe (donnees$groupe). p.adjust.method = "holm" corrige les valeurs p pour tenir compte du nombre de comparaisons.

Attention : multiplier les comparaisons augmente le risque de faux positifs. Utilisez un ajustement de la multiplicité (Tukey, Holm, Bonferroni) et dites-le dans la rédaction.

Note : l'ANOVA suppose des résidus approximativement normaux et des variances comparables ; vérifiez-le sur les résidus (plot(modele_anova)).