Comment effectuer le test de Dunnett dans R



Un test post-hoc est un type de test effectué à la suite d’une ANOVA pour déterminer quelles moyennes de groupe sont statistiquement significativement différentes les unes des autres.

Si l’un des groupes de l’étude est considéré comme le groupe témoin , nous devrions alors utiliser le test de Dunnett comme test post-hoc.

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

Exemple : test de Dunnett dans R

Supposons qu’un enseignant veuille savoir si deux nouvelles techniques d’étude ont le potentiel d’améliorer les résultats des examens de ses élèves. Pour tester cela, elle divise au hasard sa classe de 30 élèves en trois groupes suivants :

  • Groupe témoin : 10 étudiants
  • Nouvelle technique d’étude 1 : 10 étudiants
  • Nouvelle technique d’étude 2 : 10 étudiants

Après une semaine d’utilisation de la technique d’étude qui lui a été assignée, chaque étudiant passe le même examen.

Nous pouvons utiliser les étapes suivantes dans R pour créer un ensemble de données, visualiser les moyennes du groupe, effectuer une ANOVA unidirectionnelle et enfin effectuer le test de Dunnett pour déterminer quelle nouvelle technique d’étude (le cas échéant) produit des résultats différents par rapport au groupe témoin.

É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("control", "new1", "new2"), 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   control    76
2   control    77
3   control    77
4   control    81
5   control    82
6   control    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")

Rien qu’à partir des diagrammes en boîte, nous pouvons voir que la distribution des résultats aux examens est très différente pour chaque technique d’étude. Nous effectuerons ensuite une ANOVA unidirectionnelle pour déterminer si ces différences sont statistiquement significatives.

Connexe : Comment tracer plusieurs boîtes à moustaches dans un seul graphique dans 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 Dunnett pour déterminer quelle technique d’étude produit des résultats moyens aux examens qui diffèrent de ceux du groupe témoin.

Étape 4 : Effectuez le test de Dunnett.

Pour effectuer le test de Dunnett en R nous pouvons utiliser la fonction DunnettTest() de la bibliothèque DescTools qui utilise la syntaxe suivante :

Test de Dunnett(x, g)

où:

  • x : un vecteur numérique de valeurs de données (par exemple, les résultats des examens)
  • g : Un vecteur qui spécifie les noms des groupes (par exemple, étudier la technique)

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

#load DescTools library
library(DescTools)

#perform Dunnett's Test
DunnettTest(x=data$score, g=data$technique)

  Dunnett's test for comparing several treatments with a control :  
    95% family-wise confidence level

$control
             diff     lwr.ci   upr.ci   pval    
new1-control  4.2 -1.6071876 10.00719 0.1787    
new2-control  6.4  0.5928124 12.20719 0.0296 *  

---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1.' 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 nouvelle technique d’étude 1 et le groupe témoin est de 4,2. La valeur p correspondante est de 0,1787 .
  • La différence moyenne des résultats aux examens entre la nouvelle technique d’étude 2 et le groupe témoin est de 6,4. La valeur p correspondante est de 0,0296 .

Sur la base des résultats, nous pouvons voir que l’étude de la technique 2 est la seule technique qui produit des scores moyens aux examens significativement (p = 0,0296) différents de ceux du groupe témoin.

Ressources additionnelles

Une introduction à l’ANOVA unidirectionnelle
Comment effectuer une ANOVA unidirectionnelle dans R
Comment effectuer le test de Tukey dans R

Ajouter un commentaire

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