Comment utiliser la différence la moins significative de Fisher (LSD) 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.

Les hypothèses utilisées dans une ANOVA unidirectionnelle sont les suivantes :

  • H 0 : Les moyennes sont égales pour chaque groupe.
  • H A : Au moins un des moyens est différent des autres.

Si la valeur p de l’ANOVA est inférieure à un certain niveau de signification (comme α = 0,05), nous pouvons rejeter l’hypothèse nulle et conclure qu’au moins une des moyennes du groupe est différente des autres.

Mais pour savoir exactement quels groupes sont différents les uns des autres, nous devons procéder à un test post-hoc.

Un test post-hoc couramment utilisé est le test de différence la moins significative (LSD) de Fisher .

Vous pouvez utiliser la fonction LSD.test() du package agricolae pour effectuer ce test dans R.

L’exemple suivant montre comment utiliser cette fonction dans la pratique.

Exemple : test LSD de Fisher dans R

Supposons qu’un professeur veuille savoir si trois techniques d’étude différentes conduisent ou non à des résultats d’examen différents parmi les étudiants.

Pour tester cela, elle assigne au hasard 10 étudiants à utiliser chaque technique d’étude et enregistre leurs résultats aux examens.

Le tableau suivant montre les résultats aux examens de chaque élève en fonction de la technique d’étude utilisée :

Nous pouvons utiliser le code suivant pour créer cet ensemble de données et y effectuer une ANOVA unidirectionnelle dans R :

#create data frame
df <- data.frame(technique = rep(c("tech1", "tech2", "tech3"), each = 10),
                   score = c(72, 73, 73, 77, 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(df)

  technique score
1     tech1    72
2     tech1    73
3     tech1    73
4     tech1    77
5     tech1    82
6     tech1    82

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

#view summary of one-way ANOVA
summary(model)

            Df Sum Sq Mean Sq F value Pr(>F)  
technique    2  341.6  170.80   4.623 0.0188 *
Residuals   27  997.6   36.95                 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Étant donné que la valeur p dans le tableau ANOVA (0,0188) est inférieure à 0,05, nous pouvons conclure que tous les résultats moyens aux examens entre les trois groupes ne sont pas égaux.

Ainsi, nous pouvons procéder au test LSD de Fisher pour déterminer quelles moyennes de groupe sont différentes.

Le code suivant montre comment procéder :

library(agricolae)

#perform Fisher's LSD
print(LSD.test(model,"technique"))
            
$statistics
   MSerror Df Mean       CV  t.value     LSD
  36.94815 27 84.6 7.184987 2.051831 5.57767

$parameters
        test p.ajusted    name.t ntr alpha
  Fisher-LSD      none technique   3  0.05

$means
      score      std  r      LCL      UCL Min Max   Q25  Q50   Q75
tech1  80.0 5.868939 10 76.05599 83.94401  72  89 74.00 82.0 83.75
tech2  85.8 4.391912 10 81.85599 89.74401  81  93 83.00 83.5 89.25
tech3  88.0 7.557189 10 84.05599 91.94401  77  98 81.25 89.5 94.00

$comparison
NULL

$groups
      score groups
tech3  88.0      a
tech2  85.8      a
tech1  80.0      b

attr(,"class")
[1] "group"

La partie du résultat qui nous intéresse le plus est la section intitulée $groups . Les techniques qui ont des caractères différents dans la colonne des groupes sont très différentes.

À partir du résultat, nous pouvons voir :

  • La Technique 1 et la Technique 3 ont des scores moyens aux examens significativement différents (puisque tech1 a une valeur de « b » et tech3 a une valeur de « a »).
  • La Technique 1 et la Technique 2 ont des scores moyens aux examens significativement différents (puisque tech1 a une valeur de « b » et tech2 a une valeur de « a »).
  • La Technique 2 et la Technique 3 n’ont pas de scores moyens aux examens significativement différents (puisqu’elles ont toutes deux une valeur de « a »)

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment effectuer une ANOVA unidirectionnelle dans R
Comment effectuer un test post-hoc Bonferroni dans R
Comment effectuer le test post-hoc de Scheffe dans R

Ajouter un commentaire

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