9.6 Représentation graphique

Il n’existe pas un graphique de référence afin de présenter un test t de Student ou un test de Wilcoxon. On retrouve malheureusement dans la littérature plusieurs graphiques qui coexistent. Afin de présenter 3 graphiques courants, nous utilisons le jeu de données crabs.

On retrouve généralement deux graphiques montrant la moyenne et l’intervalle de confiance.

a <- chart(data = crabs, rear ~ sex) +
  stat_summary(geom = "col", fun.y = "mean") +
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_cl_normal", fun.args = list(conf.int = 0.95))
# Warning: `fun.y` is deprecated. Use `fun` instead.
b <- chart(data = crabs, rear ~ sex) +
  geom_jitter(alpha = 0.3, width = 0.2) +
  stat_summary(geom = "point", fun.y = "mean", size = 2) +
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_cl_normal", fun.args = list(conf.int = 0.95), size = 1)
# Warning: `fun.y` is deprecated. Use `fun` instead.
combine_charts(list(a,b))

La graphique en barre et le nuage de point représentent identiquement la information. Ils représentent la moyenne avec des barres erreurs qui représentent l’intervalle de confiance à 0.95. Le graphe en dynamite avec des barres d’erreurs ne donne aucune information sur le nombre d’observation. Nous avons déjà abordé rapidement cette problématique dans la section 4.1.3. Il n’est donc pas le graphique optimal pour présenter un test t de Student.

Malgré le fait que le test t de Student est un test paramétrique, on retrouve dans la littérature scientifique la boite de dispersion qui est pourtant un graphique associé à des valeurs non paramétriques. Pour le test de Wilcoxon, la boite de dispersion est l’outil graphique recommandé.

chart(data = crabs, rear ~ sex) +
  geom_boxplot()

Parmi ces 3 choix, nous vous conseillons d’employer le nuage de point avec la valeur moyenne et l’intervalle de confiance.

chart(data = crabs, rear ~ sex) +
  geom_jitter(alpha = 0.3, width = 0.2) +
  stat_summary(geom = "point", fun.y = "mean") +
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_cl_normal", fun.args = list(conf.int = 0.95))
# Warning: `fun.y` is deprecated. Use `fun` instead.

Pièges et astuces : barres d’erreurs

Que vous utilisiez le nuage de points ou le graphique en barres, vous devez être extrêmement vigilant aux barres d’erreurs. Vous devez toujours préciser et bien comprendre ce que les barres d’erreurs cachent. Voici 4 graphiques qui présentent différentes barres d’erreurs (la taille de l’axe y a volontairement été figée).

p <- chart(data = crabs, rear ~ sex) +
  geom_jitter(alpha = 0.1, width = 0.2) +
  stat_summary(geom = "point", fun.y = "mean") +
  scale_y_continuous(limits = c(5,22))
# Warning: `fun.y` is deprecated. Use `fun` instead.
a <- p +
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_cl_normal", fun.args = list(conf.int = 0.95)) 

b <- p +
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_sdl", fun.args = list(mult = 1))

c <- p +
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_sdl", fun.args = list(mult = 2)) 

d <- p + 
  stat_summary(geom = "errorbar", width = 0.1,
    fun.data = "mean_se", fun.args = list(mult = 1))

combine_charts(list(a,b,c,d))
Nuage de points de la largeur de l'arrière de la carapace en focntion du sexe avec la moyenne et des barres d'erreurs. Graphe A : moyenne et intervalle de confiance 0.95. Graphe B : moyenne et écart-type. Graphe C : moyenne et 2*écart-type. Graphe D : moyenne et erreur standard

Figure 9.8: Nuage de points de la largeur de l’arrière de la carapace en focntion du sexe avec la moyenne et des barres d’erreurs. Graphe A : moyenne et intervalle de confiance 0.95. Graphe B : moyenne et écart-type. Graphe C : moyenne et 2*écart-type. Graphe D : moyenne et erreur standard

Les formules associées aux barres d’erreurs sont les suivantes de A à D:

  • Graphe A : l’intervalle de confiance 0.95

\[\mathrm{IC}(1 - \alpha) \simeq \bar{x} \pm t_{\alpha/2}^{n-1} \cdot SE_x\]

mean_cl_normal(crabs$rear)
#         y     ymin     ymax
# 1 12.7385 12.37968 13.09732
  • Graphe B : l’écart-type

\[s_x = \sqrt{\sum_{i=1}^n{\frac{(x_i - \bar{x})^2}{n-1}}}\]

mean_sdl(crabs$rear, mult = 1)
#         y     ymin     ymax
# 1 12.7385 10.16516 15.31184
  • Graphe C : deux fois la valeur de l’écart-type

\[2 \times s_x\]

mean_sdl(crabs$rear, mult = 2)
#         y    ymin     ymax
# 1 12.7385 7.59182 17.88518
  • Graphe D : l’erreur standard

\[SE_x = \frac{s_x}{\sqrt{n}}\]

mean_se(crabs$rear)
#         y     ymin     ymax
# 1 12.7385 12.55654 12.92046

Comme nous venons de le voir, les barres d’erreurs sont calculées à partir de différentes fonctions. Il est donc indispensable de préciser explicitement ce que les barres d’erreurs représentent.

Pour en savoir plus

Pour terminer, bien que la moyenne soit un descripteur statistique très utile, il est parfois utilisé de manière abusive. Une distribution statistique ne se résume pas à un nombre, fût-ce la moyenne. De plus, si la distribution est asymétrique, la moyenne est un mauvais choix (préférer alors la médiane, ou transformer les données pour rendre la distribution plus symétrique). La vidéo suivante détaille le problème qui peut se produire :

À vous de jouer !

Appliquez vos nouvelles connaissances dans le projet GitHub Classroom de groupe que vous avez débuté au module précédent.

Réalisez en groupe le travail A09Ga_human_health, partie II.

Travail en groupe de 4 pour les étudiants inscrits au cours de Science des Données Biologiques I : inférence à l’UMONS à terminer avant le 2022-05-23 23:59:59.

Initiez votre projet GitHub Classroom

Voyez les explications dans le fichier README.md, partie II.

Note : Le projet suivant est la continuité d’un exercice débuté au premier quadrimestre et approfondis au module précédent.

Réalisez en groupe le travail A09Ga_urchin, partie III.

Travail en groupe de 2 pour les étudiants inscrits au cours de Science des Données Biologiques I : inférence à l’UMONS à terminer avant le 2022-05-23 23:59:59.

Initiez votre projet GitHub Classroom

Voyez les explications dans le fichier README.md, partie III.