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 RFonctions 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.
- Variable continue :
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
No Comments