Test de Student sur mesures répétées (paired t-test)
Introduction
Le test t de Student sur mesures répétées est un test paramétrique permettant de déterminer s'il existe une différence significative entre deux mesures d'un même échantillon dans le temps.
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 soient issus de distributions normales.
- Si les échantillons ne proviennent pas de distribution normales, il faut utiliser un test non-paramétrique. Dans ce cas, un test de Wilcoxon 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
t.test(data$T1, data$T2, paired=TRUE)
Taille d'effet
Pour mesurer la taille de l'effet, nous devons utiliser le coefficient d de Cohen:
# Soit T1 les scores de la première mesure et T2 ceux de la seconde
diff <- data$T1 - data$T2
d <- mean(diff) / sd(diff)
Exemple
Voici nos données et notre fichier d'analyse:
| Fichiers |
|---|
| paired-t-test.csv |
| paired-t-test.R |
Commençons par importer nos données:
df <- read.csv("paired-t-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="Paired t-test",
col="steelblue"
)

Vérifions maintenant les conditions d'application, tout d'abord la normalité des distributions:
shapiro.test(df$T1)
shapiro.test(df$T2)
| W | p | |
|---|---|---|
| T1 | 0.99369 | 0.9259 |
| T2 | 0.99225 | 0.8394 |
Nous pouvons donc conclure que les deux mesures sont distribuées normalement.
Puisque les conditions d'applications sont satisfaites, nous pouvons réaliser un t-test dépendant:
t.test(df$T1, df$T2, paired=TRUE)
| t | df | p |
|---|---|---|
| -94.679 | 99 | < 2.2e-16 *** |
Nous pouvons donc conclure qu'il existe une différence significative entre les mesures. Il ne reste maintenant plus qu'à calculer la taille d'effet. Pour cela, nous utilisons le d de Cohen:
diff <- df$T1 - df$T2
d <- mean(diff) / sd(diff)
d
| d |
|---|
| -9.467894 |
La taille d'effet est grande. Nous concluons donc qu'il existe une grande différence significative entre les deux mesures (t(99) = -94.68, p<.001, d = -9.47).