boxplot() dans R
boxplot() dans R permet de visualiser la répartition des données par quartile et de détecter la présence de valeurs aberrantes. Vous pouvez utiliser l'objet géométrique geom_boxplot() de la bibliothèque ggplot2 pour dessiner un boxplot() dans R.
Nous utiliserons l'ensemble de données sur la qualité de l'air pour introduire boxplot() dans R avec ggplot. Cet ensemble de données mesure la qualité de l'air de New York de mai à septembre 1973. L'ensemble de données contient 154 observations. Nous utiliserons le suivantwing variables:
- Ozone: variable numérique
- Vent : Variable numérique
- Mois : mai à septembre. Variable numérique
Création Box Terrain
Avant de commencer à créer votre premier boxplot() dans R, vous devez manipuler les données comme suit:
- Étape 1: Importer les données
- Étape2: Supprimez les variables inutiles
- Étape 3: Convertir le mois en niveau de facteur
- Étape 4: Créez une nouvelle variable catégorielle divisant le mois en trois niveaux: début, milieu et fin.
- Étape5: Supprimer les observations manquantes
Toutes ces étapes sont réalisées avec dplyr et le pipeline operator %>%.
library(dplyr)library(ggplot2)# Step 1data_air <- airquality % > %#Step 2select(-c(Solar.R, Temp)) % > %#Step 3mutate(Month = factor(Month, order = TRUE, labels = c("May", "June", "July", "August", "September")), #Step 4 day_cat = factor(ifelse(Day < 10, "Begin", ifelse(Day < 20, "Middle", "End"))))
Une bonne pratique consiste à vérifier la structure des données avec la fonction glimpse().
glimpse(data_air)
Sortie :
## Observations: 153## Variables: 5## $ Ozone <int> 41, 36, 12, 18, NA, 28, 23, 19, 8, NA, 7, 16, 11, 14, ...## $ Wind <dbl> 7.4, 8.0, 12.6, 11.5, 14.3, 14.9, 8.6, 13.8, 20.1, 8.6...## $ Month <ord> May, May, May, May, May, May, May, May, May, May, May,...## $ Day <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,...## $ day_cat <fctr> Begin, Begin, Begin, Begin, Begin, Begin, Begin, Begi...
Il y a des NA dans l'ensemble de données. Les supprimer est wise.
# Step 5data_air_nona <-data_air %>% na.omit()
Basic box parcelle
Traçons le R de base boxplot() avec la répartition de l'ozone par mois.
# Store the graphbox_plot <- ggplot(data_air_nona, aes(x = Month, y = Ozone))# Add the geometric object box plotbox_plot + geom_boxplot()
Explication du code
- Stockez le graphique pour une utilisation ultérieure
- box_plot: Vous stockez le graphique dans la variable box_plot Il est utile pour une utilisation ultérieure ou à éviter trop complex ligne de codes
- Ajouter l'objet géométrique de R boxterrain()
- Vous transmettez l'ensemble de données data_air_nona à ggplot boxterrain.
- À l’intérieur de l’argument aes(), vous ajoutez l’axe des x et l’axe des y.
- Le signe + signifie que vous voulez que R continue à lire le code. Cela rend le code plus readable en le cassant.
- Utiliser geom_boxplot() pour créer un box parcelle
Sortie :
Changer le côté du graphique
Vous pouvez inverser le côté du graphique.
box_plot + geom_boxplot()+ coord_flip()
Explication du code
- box_plot: vous utilisez le graphique que vous avez stocké. Cela évite de réécrire tous les codes à chaque fois que vous ajoutez de nouvelles informations au graphique.
- géom_boxplot(): Créer boxtracés() dans R
- coord_flip(): Retourner le côté du graphique
Sortie :
Changer la couleur de la valeur aberrante
Vous pouvez modifier la couleur, la forme et la taille des valeurs aberrantes.
box_plot + geom_boxplot(outlier.colour = "red", outlier.shape = 2, outlier.size = 3) + theme_classic()
Explication du code
- outlier.colour=”red”: Contrôler la couleur des valeurs aberrantes
- outlier.shape=2: modifiez la forme de la valeur aberrante. 2 fait référence au triangle
- outlier.size=3: modifiez la taille du triangle. La taille est proportionnelle au nombre.
Sortie :
Ajouter une statistique récapitulative
Vous pouvez ajouter une statistique récapitulative au R boxparcelle().
box_plot + geom_boxplot() + stat_summary(fun.y = mean, geom = "point", size = 3, color = "steelblue") + theme_classic()
Explication du code
- stat_summary() permet d'ajouter un résumé à l'horizontale boxtracé R
- L'argument fun.y contrôle les statistiques renvoyées. Vous utiliserez la moyenne
- Remarque : D'autres statistiques sont disponibles telles que min et max. Plusieurs statistiques peuvent être affichées dans le même graphique
- geom = «point»: tracez la moyenne avec un point
- size=3 : Taille du point
- color =”steelblue” : Couleur des points
Sortie :
Box Tracer avec des points
Dans la prochaine horizontale boxplot R, vous ajoutez les couches de tracé de points. Chaque point représente une observation.
box_plot + geom_boxplot() + geom_dotplot(binaxis = 'y', dotsize = 1, stackdir = 'center') + theme_classic()
Explication du code
- geom_dotplot() permet d'ajouter un point à la largeur du bac
- binaxis='y' : change la position des points le long de l'axe y. Par défaut, l'axe des x
- dotsize=1: Taille des points
- stackdir='center' : Façon d'empiler les points : Quatre valeurs :
- «vers le haut» (par défaut),
- "vers le bas"
- "centre"
- «centre entier»
Sortie :
Contrôle Esthétique du Box Terrain
Changer la couleur du box
Vous pouvez changer les couleurs du groupe.
ggplot(data_air_nona, aes(x = Month, y = Ozone, color = Month)) + geom_boxplot() + theme_classic()
Explication du code
- Les couleurs des groupes sont contrôlées dans le mappage aes(). Vous pouvez utiliser color= Month pour changer la couleur du box et tracé des moustaches selon les mois
Sortie :
Box tracé avec plusieurs groupes
Il est également possible d'ajouter plusieurs groupes. Vous pouvez visualiser la différence de qualité de l'air selon le jour de la mesure.
ggplot(data_air_nona, aes(Month, Ozone)) + geom_boxplot(aes(fill = day_cat)) + theme_classic()
Explication du code
- Le mappage aes() de l'objet géométrique contrôle les groupes à afficher (cette variable doit être un facteur)
- aes(fill= day_cat) permet de créer trois boxes pour chaque mois sur l'axe des x
Sortie :
Box Tracer avec des points instables
Une autre façon d'afficher le point consiste à utiliser des points instables. C'est un moyen pratique de visualiser des points avec boxtracé pour les données catégorielles dans la variable R.
Cette méthode évite le chevauchement des données discrètes.
box_plot + geom_boxplot() + geom_jitter(shape = 15, color = "steelblue", position = position_jitter(width = 0.21)) + theme_classic()
Explication du code
- geom_jitter() ajoute une petite dégradation à chaque point.
- shape=15 change la forme des points. 15 représente le carréares
- color = «steelblue»: Change la couleur du point
- position=position_jitter(width = 0.21) : Moyen de placer les points qui se chevauchent. position_jitter(width = 0.21) signifie que vous déplacez les points de 20% par rapport à l'axe des x. Par défaut, 40 pour cent.
Sortie :
Vous pouvez voir la différence entre le premier graphique avec la méthode du jitter et le second avec la méthode des points.
box_plot + geom_boxplot() + geom_point(shape = 5, color = "steelblue") + theme_classic()
Entaillé Box Terrain
Une fonctionnalité intéressante de geom_boxplot(), est un cran boxfonction plot dans R. Le notch plot réduit la box autour de la médiane. Le but principal d'un cran box L’intrigue consiste à comparer l’importance de la médiane entre les groupes. Il y a dutrong prouve que deux groupes ont des médianes différentes lorsque les encoches ne se chevauchent pas. Une encoche est calculée comme suit:
avec est l'interquartile et le nombre d'observations.
box_plot + geom_boxplot(notch = TRUE) + theme_classic()
Explication du code
- géom_boxplot(notch=TRUE) : crée une image horizontale crantée boxtracé R
Sortie :
Résumé
On peut résumermarize les différents types de horizontales boxtracez R dans le tableau ci-dessous:
Objectif | Code |
---|---|
Basic box parcelle | ggplot(df, aes( x = x1, y =y)) + geom_boxplot() |
retourner le côté | ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + coord_flip() |
Entaillé box parcelle | ggplot(df, aes( x = x1, y =y)) + geom_boxplot(notch=TRUE) |
Box tracé avec des points instables | ggplot(df, aes( x = x1, y =y)) + geom_boxplot() + geom_jitter(position = position_jitter(0.21)) |
Vérifiez également: - Tutoriel R pour les débutants: apprendre le langage de programmation R
Tu pourrais aimer:
- Tutoriel R pour les débutants: apprendre le langage de programmation R
- Fonction matricielle dans R: créer, imprimer, ajouter une colonne et une tranche
- Facteur en R: variable catégorielle et variables continues
- apply(), lapply(), sapply(), tapply() Fonction dans R avec exemples
- Importer des données dans R: lire des fichiers CSV, Excel, SPSS, Stata, SAS
- RANOVA Tutoriel:Aller simple et bidirectionnel (avec exemples)
- Tutoriel de programmation R PDF pour les débutants (télécharger maintenant)