Comment effectuer un test t pour échantillons appariés dans R



Un test t pour échantillons appariés est un test statistique qui compare les moyennes de deux échantillons lorsque chaque observation d’un échantillon peut être associée à une observation de l’autre échantillon.

Par exemple, supposons que nous souhaitions savoir si un certain programme d’études a un impact significatif sur les performances des étudiants à un examen particulier. Pour tester cela, nous demandons à 20 élèves d’une classe de passer un pré-test. Ensuite, chacun des étudiants participe au programme d’études chaque jour pendant deux semaines. Ensuite, les étudiants repassent un test de difficulté similaire.

Pour comparer la différence entre les scores moyens au premier et au deuxième test, nous utilisons un test t apparié car pour chaque élève, son score au premier test peut être associé à son score au deuxième test.

Comment effectuer un test t apparié

Pour effectuer un test t apparié, nous pouvons utiliser l’approche suivante :

Étape 1 : Énoncer les hypothèses nulles et alternatives.

H 0 : μ d = 0

H a : μ d ≠ 0 (bilatéral)
H a : μ d > 0 (unilatéral)
H a : μ d < 0 (unilatéral)

μ d est la différence moyenne.

Étape 2 : Trouvez la statistique de test et la valeur p correspondante.

Soit a = le score de l’étudiant au premier test et b = le score de l’étudiant au deuxième test. Pour tester l’hypothèse nulle selon laquelle la véritable différence moyenne entre les résultats des tests est nulle :

  • Calculer la différence entre chaque paire de scores (d i = b i – a i )
  • Calculer la différence moyenne (d)
  • Calculer l’écart type des différences s d
  • Calculez la statistique t, qui est T = d / (s d / √n)
  • Trouvez la valeur p correspondante pour la statistique t avec n-1 degrés de liberté.

Étape 3 : Rejetez ou ne rejetez pas l’hypothèse nulle, en fonction du niveau de signification.

Si la valeur p est inférieure au niveau de signification choisi, nous rejetons l’hypothèse nulle et concluons qu’il existe une différence statistiquement significative entre les moyennes des deux groupes. Sinon, nous ne parviendrons pas à rejeter l’hypothèse nulle.

Comment effectuer un test t apparié dans R

Pour effectuer un test t apparié dans R, nous pouvons utiliser la fonction intégrée t.test() avec la syntaxe suivante :

t.test (x, y, apparié = VRAI, alternative = « deux faces »)

  • x,y : les deux vecteurs numériques que nous souhaitons comparer
  • paired : une valeur logique spécifiant que nous voulons calculer un test t apparié
  • alternative : l’hypothèse alternative. Cela peut être réglé sur « recto-verso » (par défaut), « supérieur » ou « inférieur ».

L’exemple suivant illustre comment effectuer un test t apparié pour déterminer s’il existe une différence significative dans les scores moyens entre un pré-test et un post-test pour 20 étudiants.

Créer les données

Tout d’abord, nous allons créer l’ensemble de données :

#create the dataset
data <- data.frame(score = c(85 ,85, 78, 78, 92, 94, 91, 85, 72, 97,
                             84, 95, 99, 80, 90, 88, 95, 90, 96, 89,
                             84, 88, 88, 90, 92, 93, 91, 85, 80, 93,
                             97, 100, 93, 91, 90, 87, 94, 83, 92, 95),
                   group = c(rep('pre', 20), rep('post', 20)))

#view the dataset
data

#   score group
#1     85   pre
#2     85   pre
#3     78   pre
#4     78   pre
#5     92   pre
#6     94   pre
#7     91   pre
#8     85   pre
#9     72   pre
#10    97   pre
#11    84   pre
#12    95   pre
#13    99   pre
#14    80   pre
#15    90   pre
#16    88   pre
#17    95   pre
#18    90   pre
#19    96   pre
#20    89   pre
#21    84  post
#22    88  post
#23    88  post
#24    90  post
#25    92  post
#26    93  post
#27    91  post
#28    85  post
#29    80  post
#30    93  post
#31    97  post
#32   100  post
#33    93  post
#34    91  post
#35    90  post
#36    87  post
#37    94  post
#38    83  post
#39    92  post
#40    95  post

Visualisez les différences

Ensuite, nous examinerons les statistiques récapitulatives des deux groupes en utilisant les fonctions group_by() et summary () de la bibliothèque dplyr :

#load dplyr library
library(dplyr)

#find sample size, mean, and standard deviation for each group
data %>%
  group_by(group) %>%
  summarise(
    count = n(),
    mean = mean(score),
    sd = sd(score)
  )

# A tibble: 2 x 4
#  group count  mean    sd
#     
#1 post     20  90.3  4.88
#2 pre      20  88.2  7.24

Nous pouvons également créer des boxplots en utilisant la fonction boxplot() dans R pour afficher la distribution des scores pour les groupes pré et post :

boxplot(score~group,
  data=data,
  main="Test Scores by Group",
  xlab="Group",
  ylab="Score",
  col="steelblue",
  border="black"
)

À partir des statistiques récapitulatives et des diagrammes en boîte, nous pouvons voir que le score moyen dans le groupe post est légèrement supérieur au score moyen dans le groupe pré . Nous pouvons également voir que les scores du groupe post ont moins de variabilité que les scores du groupe pré .

Pour savoir si la différence entre les moyennes de ces deux groupes est statistiquement significative, nous pouvons procéder à un test t apparié.

Effectuer un test t apparié

Avant d’effectuer le test t apparié, nous devons vérifier que la distribution des différences est normalement (ou approximativement normalement) distribuée. Pour ce faire, nous pouvons créer un nouveau vecteur défini comme la différence entre les scores pré et post, et effectuer un test de Shapiro-Wilk pour la normalité sur ce vecteur de valeurs :

#define new vector for difference between post and pre scores
differences <- with(data, score[group == "post"] - score[group == "pre"])

#perform shapiro-wilk test for normality on this vector of values
shapiro.test(differences)

#	Shapiro-Wilk normality test
#
#data:  differences
#W = 0.92307, p-value = 0.1135
#

La valeur p du test est de 0,1135, ce qui est supérieur à alpha = 0,05. Ainsi, nous ne parvenons pas à rejeter l’hypothèse nulle selon laquelle nos données sont normalement distribuées. Cela signifie que nous pouvons maintenant procéder au test t apparié.

Nous pouvons utiliser le code suivant pour effectuer un test t apparié :

t.test(score ~ group, data = data, paired = TRUE)

#	Paired t-test
#
#data:  score by group
#t = 1.588, df = 19, p-value = 0.1288
#alternative hypothesis: true difference in means is not equal to 0
#95 percent confidence interval:
# -0.6837307  4.9837307
#sample estimates:
#mean of the differences 
#                   2.15 

D’après le résultat, nous pouvons voir que :

  • La statistique de test t est 1,588 .
  • La valeur p pour cette statistique de test avec 19 degrés de liberté (df) est de 0,1288 .
  • L’intervalle de confiance à 95 % pour la différence moyenne est (-0,6837, 4,9837) .
  • La différence moyenne entre les scores du groupe pré et post est de 2,15 .

Ainsi, puisque notre valeur p est inférieure à notre niveau de signification de 0,05, nous ne parviendrons pas à rejeter l’hypothèse nulle selon laquelle les deux groupes ont des moyennes statistiquement significatives.

En d’autres termes, nous ne disposons pas de preuves suffisantes pour affirmer que les scores moyens entre les groupes pré et post sont statistiquement différents. Cela signifie que le programme d’études n’a eu aucun effet significatif sur les résultats des tests.

De plus, notre intervalle de confiance à 95 % indique que nous sommes « confiants à 95 % » que la véritable différence moyenne entre les deux groupes se situe entre -0,6837 et 4,9837 .

Puisque la valeur zéro est contenue dans cet intervalle de confiance, cela signifie que zéro pourrait en fait être la véritable différence entre les scores moyens, c’est pourquoi nous n’avons pas réussi à rejeter l’hypothèse nulle dans ce cas.

Ajouter un commentaire

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