Test de Wilcoxon sur mesures pairées (Wilcoxon signed rank test with continuity correction)
Introduction
Le test de Wilcoxon sur mesures pairées est l'équivalent non-paramétrique du test t de Student sur mesures pairées.
Pour des explications plus détaillées, n'hésitez pas à consulter mes notes de première année.

Conditions d'application
Conditions d'application
Pour pouvoir être appliqué, ce test nécessite que les échantillons ne soient pas issues de distributions normales.
- Si les distributions sont normales, il faut absolument utiliser un test paramétrique. Dans ce cas, un t-test sur mesures pairées.
Pour vérifier si les distributions sont normales, nous devons utiliser un test de Shapiro-Wilk:
# Soit T1 les scores de la première mesure et T2 ceux de la seconde
shapiro.test(data$T1)
shapiro.test(data$T2)
Exécution du test
# Soit T1 les scores de la première mesure et T2 ceux de la seconde
wilcox.test(data$T1, data$T2, paired=TRUE)
Exemple
Voici nos données et notre fichier d'analyse:
| Fichiers |
|---|
| wilcoxon-signed-rank-test.csv |
| wilcoxon-signed-rank-test.R |
Commençons par importer nos données:
df <- read.csv("wilcoxon-signed-rank-test.csv")
Nous pouvons maintenant visualiser nos données dans un diagramme en boîtes à moustache:
boxplot(
df$T1, df$T2,
xlab="Temps", ylab="Score",
main="Wilcoxon signed rank test with continuity correction",
col="steelblue",
names=c("T1", "T2")
)

Vérifions maintenant la normalité des distributions:
shapiro.test(df$T1)
shapiro.test(df$T2)
| W | p | |
|---|---|---|
| T1 | 0.96334 | 4.624e-05 |
| T2 | 0.98118 | 0.008757 |
Nous pouvons donc conclure que les deux mesures ne sont pas distribuées normalement. Nous ne pouvons donc pas utiliser de test paramétrique.
Effectuons donc notre test non-paramétrique:
wilcox.test(df$T1, df$T2, paired=TRUE)
| V | p |
|---|---|
| 3956 | 1.044e-13 *** |
Nous pouvons donc conclure qu'il existe une différence significative entre les mesures (V = 3956, p<.001).