Comment Effectuer Plusieurs Tests-T Appariés Deux par Deux dans R

plot of chunk paired-pairwise-t-test-in-r-boxplots


Comment Effectuer Plusieurs Tests-T Appariés Deux par Deux dans R

Prérequis

# Charger les packages R requis
library(tidyverse)
library(rstatix)
library(ggpubr)

Préparation des données

Nous utiliserons le jeu de données sur l’estime de soi mesuré sur trois points temporels. Les données sont disponibles dans le package datarium.

# Format large
data("selfesteem", package = "datarium")
head(selfesteem, 3)
## # A tibble: 3 x 4
##      id    t1    t2    t3
##   <int> <dbl> <dbl> <dbl>
## 1     1  4.01  5.18  7.11
## 2     2  2.56  6.91  6.31
## 3     3  3.24  4.44  9.78
# Rassembler les colonnes t1, t2 et t3 en format long
# Convertir l'identifiant et le temps en facteurs
selfesteem <- selfesteem %>%
  gather(key = "time", value = "score", t1, t2, t3) %>%
  convert_as_factor(id, time)
head(selfesteem, 3)
## # A tibble: 3 x 3
##   id    time  score
##   <fct> <fct> <dbl>
## 1 1     t1     4.01
## 2 2     t1     2.56
## 3 3     t1     3.24

Effectuer des tests-t appariés deux par deux

Vous pouvez effectuer plusieurs tests t appariés par paires entre les niveaux du facteur intra-sujets (ici time). Les p-values sont ajustées à l’aide de la méthode de correction des tests multiples de Bonferroni.

stat.test <- selfesteem %>%
  pairwise_t_test(
    score ~ time, paired = TRUE,
    p.adjust.method = "bonferroni"
    )
stat.test
## # A tibble: 3 x 10
##   .y.   group1 group2    n1    n2 statistic    df           p    p.adj p.adj.signif
## * <chr> <chr>  <chr>  <int> <int>     <dbl> <dbl>       <dbl>    <dbl> <chr>       
## 1 score t1     t2        10    10     -4.97     9 0.000772    0.002    **          
## 2 score t1     t3        10    10    -13.2      9 0.000000334 0.000001 ****        
## 3 score t2     t3        10    10     -4.87     9 0.000886    0.003    **

Toutes les différences par paires sont statistiquement significatives.

Visualisation : Boxplots avec p-values

# Créer le graphique
myplot <- ggboxplot(selfesteem, x = "time", y = "score", add = "point")
# Ajouter les p-values des tests statistiques
stat.test <- stat.test %>% add_xy_position(x = "time")
myplot + stat_pvalue_manual(stat.test, label = "p.adj.signif")

plot of chunk paired-pairwise-t-test-in-r-boxplots



Version: English





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