Comment tracer plusieurs boîtes à moustaches dans un seul graphique dans R
Un boxplot (parfois appelé diagramme en boîte et moustaches) est un tracé qui montre le résumé en cinq nombres d’un ensemble de données.
Le résumé en cinq chiffres comprend :
- La valeur minimale
- Le premier quartile
- La valeur médiane
- Le troisième quartile
- La valeur maximale
Ce didacticiel explique comment tracer plusieurs boîtes à moustaches dans un seul tracé dans R, en utilisant base R et ggplot2.
Boîtes à moustaches en base R
Pour illustrer comment créer des boxplots en base R, nous allons travailler avec l’ensemble de données sur la qualité de l’air intégré dans R :
#view first 6 rows of "airquality" dataset
head(airquality)
# Ozone Solar.R Wind Temp Month Day
#1 41 190 7.4 67 5 1
#2 36 118 8.0 72 5 2
#3 12 149 12.6 74 5 3
#4 18 313 11.5 62 5 4
#5 NA NA 14.3 56 5 5
#6 28 NA 14.9 66 5 6
Pour créer un seul boxplot pour la variable « Ozone », nous pouvons utiliser la syntaxe suivante :
#create boxplot for the variable "Ozone"
boxplot(airquality$Ozone)
Cela génère le boxplot suivant :
Supposons que nous souhaitions plutôt générer un boxplot pour chaque mois de l’ensemble de données. La syntaxe suivante montre comment procéder :
#create boxplot that displays temperature distribution for each month in the dataset
boxplot(Temp~Month,
data=airquality,
main="Temperature Distribution by Month",
xlab="Month",
ylab="Degrees (F)",
col="steelblue",
border="black"
)
Cela génère le graphique suivant qui affiche un boxplot pour chaque mois :
Boîtes à moustaches dans ggplot2
Une autre façon de créer des boxplots dans R consiste à utiliser le package ggplot2 . Nous utiliserons à nouveau l’ensemble de données intégré sur la qualité de l’air pour les exemples suivants.
Pour créer une seule boîte à moustaches pour la variable « Ozone » dans l’ensemble de données sur la qualité de l’air, nous pouvons utiliser la syntaxe suivante :
#create boxplot for the variable "Ozone"
library(ggplot2)
ggplot(data = airquality, aes(y=Ozone)) + geom_boxplot()
Cela génère le boxplot suivant :
Si, à la place, nous souhaitons générer un boxplot pour chaque mois de l’ensemble de données, nous pouvons utiliser la syntaxe suivante pour ce faire :
#create boxplot that displays temperature distribution for each month in the dataset
library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
geom_boxplot(fill="steelblue") +
labs(title="Temperature Distribution by Month", x="Month", y="Degrees (F)")
Cela génère le graphique suivant qui affiche un boxplot pour chaque mois :
Ressources additionnelles
Les didacticiels suivants offrent des informations supplémentaires sur les boxplots :
Quand devriez-vous utiliser une boîte à moustaches ? (3 scénarios)
Comment identifier l’asymétrie dans les boîtes à moustaches
Comment comparer les boîtes à moustaches