Test T - L' Essentiel : Définition, Formule et Calcul

Comment Faire le Test T Apparié dans R

Cet article décrit comment faire un test t apparié dans R (ou dans Rstudio). Il convient de noter que le test t apparié est également appelé test t dépendant, test t pour échantillons reliés, test t de paires appariées ou test t pour échantillons appariés.

Vous apprendrez à:

  • Exécuter le test t apparié dans R en utilisant les fonctions suivantes :
    • t_test() [paquet rstatix] : le résultat est une data frame pour une visualisation graphique facile en utilisant le paquet ggpubr.
    • t.test() [paquet stats] : fonction R de base.
  • Interpréter et rapporter le test t apparié
  • Ajouter des p-values et des niveaux de significativité à un graphe
  • Calculez et rapportez la taille de l’effet du test t apparié en utilisant le d de Cohen. La statistique “d” redéfinit la différence de moyennes comme le nombre d’écarts-types qui sépare ces moyennes. Les tailles d’effet conventionnelles des tests T, proposées par Cohen, sont : 0,2 (petit effet), 0,5 (effet modéré) et 0,8 (effet important) (Cohen 1998).


Sommaire:

Livre Apparenté

Pratique des Statistiques dans R II - Comparaison de Groupes: Variables Numériques

Prérequis

Assurez-vous d’avoir installé les paquets R suivants:

  • tidyverse pour la manipulation et la visualisation des données
  • ggpubr pour créer facilement des graphiques prêts à la publication
  • rstatix contient des fonctions R facilitant les analyses statistiques.
  • datarium: contient les jeux de données requis pour ce chapitre.

Commencez par charger les packages requis suivants:

library(tidyverse)
library(ggpubr)
library(rstatix)

Données de démonstration

Ici, nous utiliserons un jeu de données de démonstration mice2 [package datarium], qui contient le poids de 10 souris avant et après le traitement.

# Format large
data("mice2", package = "datarium")
head(mice2, 3)
##   id before after
## 1  1    187   430
## 2  2    194   404
## 3  3    232   406
# Transformez en données longues : 
# rassembler les valeurs de `before` (avant) et `after` (après) dans la même colonne
mice2.long <- mice2 %>%
  gather(key = "group", value = "weight", before, after)
head(mice2.long, 3)
##   id  group weight
## 1  1 before    187
## 2  2 before    194
## 3  3 before    232

Nous voulons savoir s’il y a une différence significative dans les poids moyens après le traitement ?

Statistiques descriptives

Calculer quelques statistiques descriptives (moyenne et sd) par groupe:

mice2.long %>%
  group_by(group) %>%
  get_summary_stats(weight, type = "mean_sd")
## # A tibble: 2 x 5
##   group  variable     n  mean    sd
##   <chr>  <chr>    <dbl> <dbl> <dbl>
## 1 after  weight      10  400.  30.1
## 2 before weight      10  201.  20.0

Calculs

Utilisation de la fonction de base R

Il existe deux options pour calculer le test t indépendant selon que les données des deux groupes soient enregistrées soit dans deux vecteurs différents, soit dans une data frame.

Option 1. Les données sont enregistrées dans deux vecteurs numériques différents:

# Enregistrer les données dans deux vecteurs différents
before <- mice2$before
after <- mice2$after
# Calculer le test t
res <- t.test(before, after, paired = TRUE)
res
## 
##  Paired t-test
## 
## data:  before and after
## t = -30, df = 9, p-value = 1e-09
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
##  -217 -182
## sample estimates:
## mean of the differences 
##                    -199

Option 2. Les données sont enregistrées dans une data frame.

# Calculer le test t
res <- t.test(weight ~ group, data = mice2.long, paired = TRUE)
res

Comme vous pouvez le voir, les deux méthodes donnent les mêmes résultats.

Dans le résultat ci-dessus :

  • t est la valeur de la statistique du test t (t = -25.55),
  • df est le degré de liberté (df= 9),
  • p-value est le niveau de significativité du test t (p-value = 1.03910^{-9}).
  • conf.int est l’intervalle de confiance de la moyenne des différences à 95% (conf.int = [-217.1442, -181.8158]);
  • sample estimates est la moyenne des différences (moyenne = -199.48).

Utilisation du paquet rstatix

Nous utiliserons le système pipe-compatible t_test() function [rstatix package], a wrapper around the R base function t.test(). Les résultats peuvent être facilement ajoutés à un graphique en utilisant le paquet Rggpubr.

stat.test <- mice2.long  %>% 
  t_test(weight ~ group, paired = TRUE) %>%
  add_significance()
stat.test
## # A tibble: 1 x 9
##   .y.    group1 group2    n1    n2 statistic    df             p p.signif
##   <chr>  <chr>  <chr>  <int> <int>     <dbl> <dbl>         <dbl> <chr>   
## 1 weight after  before    10    10      25.5     9 0.00000000104 ****

Les résultats ci-dessus montrent les composantes suivantes:

  • .y.: la variable y utilisée dans le test.
  • group1,group2: les groupes comparés dans les tests par paires.
  • statistic: Statistique de test utilisée pour calculer la p-value.
  • df: degrés de liberté.
  • p: p-value.

Notez que, vous pouvez obtenir un résultat détaillé en spécifiant l’option detailed = TRUE.

mice2.long %>%
  t_test(weight ~ group, paired = TRUE, detailed = TRUE) %>%
  add_significance()
## # A tibble: 1 x 14
##   estimate .y.    group1 group2    n1    n2 statistic             p    df conf.low conf.high method alternative p.signif
##      <dbl> <chr>  <chr>  <chr>  <int> <int>     <dbl>         <dbl> <dbl>    <dbl>     <dbl> <chr>  <chr>       <chr>   
## 1     199. weight after  before    10    10      25.5 0.00000000104     9     182.      217. T-test two.sided   ****

Interprétation

La p-value du test est 1.0410^{-9}, ce qui est inférieur au seuil de significativité alpha = 0,05. Nous pouvons alors rejeter l’hypothèse nulle et conclure que le poids moyen des souris avant traitement est significativement différent du poids moyen après traitement avec une p-value = 1.0410^{-9}.

Taille de l’effet

La taille de l’effet d’un test t pour échantillons appariés peut être calculée en divisant la différence moyenne par l’écart-type de la différence, comme indiqué ci-dessous.

La formule du d de Cohen:

\[
d = \frac{mean_D}{SD_D}
\]

D est la différence entre les valeurs des échantillons appariés.

Calculs:

mice2.long  %>% cohens_d(weight ~ group, paired = TRUE)
## # A tibble: 1 x 7
##   .y.    group1 group2 effsize    n1    n2 magnitude
## * <chr>  <chr>  <chr>    <dbl> <int> <int> <ord>    
## 1 weight after  before    8.08    10    10 large

La taille de l’effet est importante, d de Cohen = 8,07.

Rapporter

Nous pourrions rapporter les résultats comme suit : Le poids moyen des souris a augmenté de façon significative après le traitement, t(9) = 25,5, p < 0,0001, d = 8,07.

Visualiser les résultats:

# Créer un box plot
bxp <- ggpaired(mice2.long, x = "group", y = "weight", 
         order = c("before", "after"),
         ylab = "Weight", xlab = "Groups")

# Ajouter la p-value et les niveaux de significativité
stat.test <- stat.test %>% add_xy_position(x = "group")
bxp + 
  stat_pvalue_manual(stat.test, tip.length = 0) +
  labs(subtitle = get_test_label(stat.test, detailed= TRUE))

Résumé

Cet article montre comment effectuer le t-test apparié dans R/Rstudio en utilisant deux manières différentes : la fonction de base R t.test() et la fonction t_test() dans le paquet rstatix. Nous décrivons également comment interpréter et communiquer les résultats du test t.

References

Cohen, J. 1998. Statistical Power Analysis for the Behavioral Sciences. 2nd ed. Hillsdale, NJ: Lawrence Erlbaum Associates.



Version: English

Comment Faire un Test-T à Deux Echantillons Indépendant dans R (Prev Lesson)
(Next Lesson) Taille de l’effet du Test-T en Utilisant le D de Cohen
Back to Test T – L’ Essentiel : Définition, Formule et Calcul

No Comments

Give a comment

Want to post an issue with R? If yes, please make sure you have read this: How to Include Reproducible R Script Examples in Datanovia Comments