Comment effectuer le test de Scheffe 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.

Si la valeur p globale du tableau ANOVA est inférieure à un certain niveau de signification, alors nous disposons de preuves suffisantes pour affirmer qu’au moins une des moyennes des groupes est différente des autres.

Cependant, cela ne nous dit pas quels groupes sont différents les uns des autres. Cela nous dit simplement que toutes les moyennes du groupe ne sont pas égales.

Afin de savoir exactement quels groupes sont différents les uns des autres, nous devons effectuer un test post-hoc capable de contrôler le taux d’erreur par famille .

L’un des tests post hoc les plus couramment utilisés est le test de Scheffe.

Ce tutoriel explique comment effectuer le test de Scheffe dans R.

Exemple : test de Scheffe 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 les étapes suivantes dans R pour ajuster une ANOVA unidirectionnelle afin de tester les différences dans les résultats moyens aux examens entre les trois groupes et utiliser le test de Scheffe pour déterminer exactement quels groupes sont différents.

Étape 1 : Créez l’ensemble de données.

Le code suivant montre comment créer un ensemble de données contenant les résultats des examens des 30 étudiants :

#create data frame
data <- 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))

#view first six rows of data frame
head(data)

  technique score
1     tech1    76
2     tech1    77
3     tech1    77
4     tech1    81
5     tech1    82
6     tech1    82

Étape 2 : Visualisez les résultats des examens pour chaque groupe.

Le code suivant montre comment produire des boxplots pour visualiser la distribution des résultats des examens pour chaque groupe :

boxplot(score ~ technique,
        data = data,
        main = "Exam Scores by Studying Technique",
        xlab = "Studying Technique",
        ylab = "Exam Scores",
        col = "steelblue",
        border = "black")

Correction de Bonferroni en R

Étape 3 : Effectuez une ANOVA unidirectionnelle.

Le code suivant montre comment effectuer une ANOVA unidirectionnelle pour tester les différences entre les résultats moyens aux examens dans chaque groupe :

#fit the one-way ANOVA model
model <- aov(score ~ technique, data = data)

#view model output
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

Étant donné que la valeur p globale ( 0,0476 ) est inférieure à 0,05, cela indique que chaque groupe n’a pas la même note moyenne à l’examen.

Ensuite, nous effectuerons le test de Scheffe pour déterminer quels groupes sont différents.

Étape 4 : Effectuez le test de Scheffe.

Pour effectuer le test de Scheffe, nous utiliserons la fonction ScheffeTest() du package DescTools .

Le code suivant montre comment utiliser cette fonction pour notre exemple :

#load DescTools package
library(DescTools)

#perform Scheffe's test
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 ' ' 1

La façon d’interpréter le résultat est la suivante :

  • La différence moyenne des résultats aux examens entre la technique 2 et la technique 1 est de 4,2 . La valeur p correspondante pour la différence moyenne est de 0,2582 .
  • La différence moyenne des résultats aux examens entre la technique 3 et la technique 1 est de 6,4 . La valeur p correspondante pour la différence moyenne est de 0,0519 .
  • La différence moyenne des résultats aux examens entre la technique 3 et la technique 2 est de 2,2 . La valeur p correspondante pour la différence moyenne est de 0,6803 .

Selon le niveau de signification que nous décidons d’utiliser, les deux seuls groupes qui semblent statistiquement significativement différents sont la technique 3 et la technique 1.

Ressources additionnelles

Comment effectuer une ANOVA unidirectionnelle dans R
Comment effectuer le test de Tukey dans R
Comment effectuer une correction de Bonferroni dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *