Visualisation des Données à l'Aide de GGPlot2

GGPLOT Boxplot

Les boxplots (ou boîtes à moustaches) sont utilisés pour visualiser la distribution d’une variable continue groupée à travers leurs quartiles.

Les boxplots ont l’avantage d’occuper moins d’espace que les diagrammes d’histogramme et de densité. Ceci est utile pour comparer les distributions entre plusieurs groupes.

La visualisation des données à l’aide de boxplots permet de:

  • Inspecter les valeurs clés des données, y compris : la moyenne, la médiane, les premier et troisième quartiles, etc
  • Identifier les valeurs aberrantes potentielles dans les données
  • Voyez si les données sont étroitement groupées, symétriques ou asymétriques, etc

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

Contents:

Livre Apparenté

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

Fonctions R clés

  • Fonctions R clés : geom_boxplot() [package ggplot2]
  • Arguments clés pour personnaliser le graphique:
    • width: la largeur du box plot
    • notch: logique. Si TRUE, crée un boxplot avec notch. Le notch affiche un intervalle de confiance autour de la médiane, qui est normalement basé sur le median +/- 1.58*IQR/sqrt(n). Les “Notches” sont utilisées pour comparer les groupes ; si les notches de deux box plots ne se chevauchent pas, c’est une preuve solide que les médianes sont différentes.
    • color, size, linetype: Couleur, taille et type de ligne de bordure
    • fill: couleur de remplissage des zones du box plot
    • outlier.colour, outlier.shape, outlier.size: La couleur, la forme et la taille des points outliers.

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, 4)
##    len supp dose
## 1  4.2   VC  0.5
## 2 11.5   VC  0.5
## 3  7.3   VC  0.5
## 4  5.8   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")
  )

Boxplots de base

Nous commençons par initier un graphique nommé e, puis nous allons ajouter des couches:

# Graphique par défaut
e <- ggplot(ToothGrowth, aes(x = dose, y = len))
e + geom_boxplot()

# Box plot à notch avec les points moyens
e + geom_boxplot(notch = TRUE, fill = "lightgray")+
  stat_summary(fun.y = mean, geom = "point",
               shape = 18, size = 2.5, color = "#FC4E07")

Notez qu’il est possible d’utiliser la fonction scale_x_discrete() pour:

  • choix des éléments à afficher : par exemple c(“0.5”, “2”),
  • changer l’ordre des éléments : par exemple de c(“0.5”, “1”, “2”) à c(“2”, “0.5”, “1”)

Par exemple, tapez ceci:

# Choisir les éléments à afficher : groupe "0.5" et "2"
e + geom_boxplot() + 
  scale_x_discrete(limits=c("0.5", "2"))

# Modifier l'ordre par défaut des éléments
e + geom_boxplot() +
  scale_x_discrete(limits=c("2", "0.5", "1"))

Changer les couleurs de boxplot par groupes:

Le code R suivant changera la ligne et la couleur de remplissage des boxplot. Les fonctions scale_color_manual() et scale_fill_manual() sont utilisées pour spécifier des couleurs personnalisées pour chaque groupe.

# Couleur par groupe (dose)
e + geom_boxplot(aes(color = dose))+
  scale_color_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))

# Changer la couleur de remplissage par groupe (dose)
e + geom_boxplot(aes(fill = dose)) +
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07"))

Créer un boxplot avec plusieurs groupes

Deux variables de regroupement différentes sont utilisées : dose sur l’axe des abscisses et supp comme couleur de remplissage (variable de la légende).

L’espace entre les boxplots groupés est ajusté à l’aide de la fonction position_dodge().

e2 <- e + 
  geom_boxplot(aes(fill = supp), position = position_dodge(0.9) ) +
  scale_fill_manual(values = c("#999999", "#E69F00"))
e2

Boxplots à panneaux multiples

Vous pouvez diviser le graphique en plusieurs panneaux à l’aide de la fonction facet_wrap():

e2 + facet_wrap(~supp)

Conclusion

Cet article décrit comment créer un boxplot en utilisant le package ggplot2.



Version: English

GGPLOT Nuage de Points (Prev Lesson)
(Next Lesson) GGPlot Violin 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