Comment effectuer des comparaisons par paires post-hoc dans R
Une ANOVA unidirectionnelle est utilisée pour déterminer s’il existe ou non une différence statistiquement significative entre les moyennes de trois groupes indépendants ou plus.
Une ANOVA unidirectionnelle utilise les hypothèses nulles et alternatives suivantes :
- H 0 : Toutes les moyennes de groupe sont égales.
- H A : Toutes les moyennes des groupes ne sont pas égales.
Si la valeur p globale de l’ANOVA est inférieure à un certain niveau de signification (par exemple α = 0,05), alors nous rejetons l’hypothèse nulle et concluons que toutes les moyennes du groupe ne sont pas égales.
Afin de découvrir quelles moyennes de groupe sont différentes, nous pouvons ensuite effectuer des comparaisons par paires post-hoc .
L’exemple suivant montre comment effectuer les comparaisons par paires post-hoc suivantes dans R :
- La méthode Tukey
- La méthode Scheffe
- La méthode Bonferroni
- La méthode Holm
Exemple : ANOVA unidirectionnelle dans R
Supposons qu’un enseignant veuille savoir si trois techniques d’étude différentes conduisent ou non à des résultats d’examen différents parmi les élèves. Pour tester cela, elle assigne au hasard 10 étudiants à utiliser chaque technique d’étude et enregistre leurs résultats aux examens.
Nous pouvons utiliser le code suivant dans R pour effectuer une ANOVA unidirectionnelle afin de tester les différences dans les résultats moyens aux examens entre les trois groupes :
#create data frame df <- data.frame(technique = rep(c("tech1", "tech2", "tech3"), each=10), score = c(76, 77, 77, 81, 82, 82, 83, 84, 85, 89, 81, 82, 83, 83, 83, 84, 87, 90, 92, 93, 77, 78, 79, 88, 89, 90, 91, 95, 95, 98)) #perform one-way ANOVA model <- aov(score ~ technique, data = df) #view output of ANOVA summary(model) Df Sum Sq Mean Sq F value Pr(>F) technique 2 211.5 105.73 3.415 0.0476 * Residuals 27 836.0 30.96 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
La valeur p globale de l’ANOVA (0,0476) est inférieure à α = 0,05, nous rejetterons donc l’hypothèse nulle selon laquelle le score moyen à l’examen est le même pour chaque technique d’étude.
Nous pouvons procéder à des comparaisons par paires post-hoc pour déterminer quels groupes ont des moyennes différentes.
La méthode Tukey
Il est préférable d’utiliser la méthode post-hoc de Tukey lorsque la taille de l’échantillon de chaque groupe est égale.
Nous pouvons utiliser la fonction TukeyHSD() intégrée pour exécuter la méthode post-hoc Tukey dans R :
#perform the Tukey post-hoc method TukeyHSD(model, conf.level=.95) Tukey multiple comparisons of means 95% family-wise confidence level Fit: aov(formula = score ~ technique, data = df) $technique diff lwr upr p adj tech2-tech1 4.2 -1.9700112 10.370011 0.2281369 tech3-tech1 6.4 0.2299888 12.570011 0.0409017 tech3-tech2 2.2 -3.9700112 8.370011 0.6547756
À partir du résultat, nous pouvons voir que la seule valeur p (« p adj ») inférieure à 0,05 correspond à la différence entre la technique et la technique 3.
Ainsi, nous conclurions qu’il n’y a qu’une différence statistiquement significative dans les résultats moyens aux examens entre les étudiants qui ont utilisé la technique 1 et la technique 3.
La méthode Scheffe
La méthode Scheffe est la méthode de comparaison par paires post-hoc la plus conservatrice et produit les intervalles de confiance les plus larges lors de la comparaison des moyennes de groupe.
Nous pouvons utiliser la fonction ScheffeTest() du package DescTools pour exécuter la méthode post-hoc Scheffe dans R :
library(DescTools)
#perform the Scheffe post-hoc method
ScheffeTest(model)
Posthoc multiple comparisons of means: Scheffe Test
95% family-wise confidence level
$technique
diff lwr.ci upr.ci pval
tech2-tech1 4.2 -2.24527202 10.645272 0.2582
tech3-tech1 6.4 -0.04527202 12.845272 0.0519 .
tech3-tech2 2.2 -4.24527202 8.645272 0.6803
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 156
À partir des résultats, nous pouvons voir qu’il n’y a pas de valeurs p inférieures à 0,05, nous conclurions donc qu’il n’y a pas de différence statistiquement significative dans les résultats moyens aux examens entre les groupes.
La méthode Bonferroni
Il est préférable d’utiliser la méthode Bonferroni lorsque vous souhaitez effectuer un ensemble de comparaisons par paires planifiées.
Nous pouvons utiliser la syntaxe suivante dans R pour exécuter la méthode post-hoc Bonferroni :
#perform the Bonferroni post-hoc method
pairwise.t.test(df$score, df$technique, p.adj='bonferroni')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.309 -
tech3 0.048 1.000
P value adjustment method: bonferroni
À partir du résultat, nous pouvons voir que la seule valeur p inférieure à 0,05 correspond à la différence entre la technique et la technique 3.
Ainsi, nous conclurions qu’il n’y a qu’une différence statistiquement significative dans les résultats moyens aux examens entre les étudiants qui ont utilisé la technique 1 et la technique 3.
La méthode Holm
La méthode Holm est également utilisée lorsque vous souhaitez effectuer au préalable un ensemble de comparaisons par paires planifiées et elle a tendance à avoir une puissance encore plus élevée que la méthode Bonferroni, elle est donc souvent préférée.
Nous pouvons utiliser la syntaxe suivante dans R pour exécuter la méthode post-hoc Holm :
#perform the Holm post-hoc method
pairwise.t.test(df$score, df$technique, p.adj='holm')
Pairwise comparisons using t tests with pooled SD
data: df$score and df$technique
tech1 tech2
tech2 0.206 -
tech3 0.048 0.384
P value adjustment method: holm
À partir du résultat, nous pouvons voir que la seule valeur p inférieure à 0,05 correspond à la différence entre la technique et la technique 3.
Ainsi, encore une fois, nous conclurions qu’il n’y a qu’une différence statistiquement significative dans les résultats moyens aux examens entre les étudiants qui ont utilisé la technique 1 et la technique 3.
Ressources additionnelles
Les didacticiels suivants fournissent des informations supplémentaires sur les tests ANOVA et post-hoc :
Comment interpréter la valeur F et la valeur P dans l’ANOVA
Le guide complet : Comment rapporter les résultats de l’ANOVA
Tukey contre Bonferroni contre Scheffe : quel test devriez-vous utiliser ?