Visualisation des Données à l'Aide de GGPlot2

GGPlot Stripchart

Les stripcharts sont aussi appelés diagrammes de dispersion unidimensionnels. Ces graphiques conviennent mieux que les box plots lorsque la taille de l’échantillon est petite.

Cet article décrit comment créer et personnaliser des Stripcharts en utilisant le package ggplot2 dans R.



Sommaire:

Livre Apparenté

GGPLOT2 - L’Essentiel pour une Visualisation Magnifique des Données dans R

Fonctions R clés

  • Fonction clé: geom_jitter()
  • arguments clés: color, fill, size, shape. Modifie la couleur, le remplissage, la taille et la forme des points

Préparation des données

  • Données de démonstration: ToothGrowth
    • Variable continue : len (longueur des dents). Utilisé sur l’axe des y
    • Variable de regroupement : dose (doses de vitamine C : 0,5, 1 et 2 mg/jour). Utilisé sur l’axe des x.

Tout d’abord, convertir la variable dose d’une variable numérique en une variable discrète de groupes:

data("ToothGrowth")
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth, 3)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5

Chargement des packages R requis

Chargez le package ggplot2 et mettez le thème par défaut à theme_classic() avec la légende en haut du graphique:

library(ggplot2)
theme_set(
  theme_classic() +
    theme(legend.position = "top")
  )

Stripcharts basiques

Nous commençons par initier un graphique nommé e, puis nous allons ajouter des couches. Le code R suivant crée des stripcharts combinés avec des statistiques descriptives (moyenne +/- SD), des boxplots et des violin plots.

  • Changer la forme et la couleur des points par groupes
  • Ajuster le degré de dispersion: position_jitter(0.2)
  • Ajouter des statistiques descriptives:
# Initialiser un ggplot
e <- ggplot(ToothGrowth, aes(x = dose, y = len))

# Stripcharts avec statistiques descriptives
# Changer la couleur par groupe en fonction de dose
e + geom_jitter(aes(shape = dose, color = dose), 
                position = position_jitter(0.2), size = 1.2) +
  stat_summary(aes(color = dose), size = 0.4,
               fun.data="mean_sdl",  fun.args = list(mult=1))+
  scale_color_manual(values =  c("#00AFBB", "#E7B800", "#FC4E07"))

La fonction mean_sdl est utilisée pour ajouter la moyenne et l’écart-type. Il calcule la moyenne plus ou moins une constante fois l’écart-type. Dans le code R ci-dessus, la constante est spécifiée en utilisant l’argument mult (mult = 1). Par défaut mult = 2. La moyenne +/- SD peut être ajoutée sous forme de crossbar ou de pointrange.

Combiner avec des box plots et des violin plots

# Combiner avec le box plot
e + geom_boxplot() + 
  geom_jitter(position = position_jitter(0.2))

  
# Stripcharts + violin plot + statistiques descriptives
e + geom_violin(trim = FALSE) +
  geom_jitter(position = position_jitter(0.2)) +
  stat_summary(fun.data="mean_sdl",  fun.args = list(mult=1),
               color = "red")

Créer des stripcharts pour plusieurs groupes

Le code R est similaire à ce que nous avons vu dans la section des diagrammes en points. Cependant, pour créer des points jitter décalés, vous devez utiliser la fonction position_jitterdodge() au lieu de position_dodge().

e + geom_jitter(
  aes(shape = supp, color = supp), size = 1.2,
  position = position_jitterdodge(jitter.width = 0.2, dodge.width = 0.8)
  ) +
  stat_summary(
    aes(color = supp), fun.data="mean_sdl", fun.args = list(mult=1), 
    size = 0.4, position = position_dodge(0.8)
    )+
  scale_color_manual(values =  c("#00AFBB", "#E7B800"))

Conclusion

Cet article décrit comment créer des stripcharts à l’aide du package ggplot2.



Version: English

GGPLOT Dot Plot (Prev Lesson)
(Next Lesson) GGPLOT Line Plot
Back to Visualisation des Données à l’Aide de GGPlot2

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

Teacher
Alboukadel Kassambara
Role : Fondateur de Datanovia
Read More