Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment étiqueter les valeurs aberrantes dans les boxplots dans ggplot2



Ce didacticiel fournit un exemple étape par étape de la façon d’étiqueter les valeurs aberrantes dans les boxplots dans ggplot2.

Étape 1 : Créer le bloc de données

Tout d’abord, créons le bloc de données suivant qui contient des informations sur les points marqués par 60 joueurs de basket-ball différents dans trois équipes différentes :

#make this example reproducible
set.seed(1)

#create data frame
df <- data.frame(team=rep(c('A', 'B', 'C'), each=20),
                 player=rep(LETTERS[1:20], times=3),
                 points=round(rnorm(n=60, mean=30, sd=10), 2))

#view head of data frame
head(df)

  team player points
1    A      A  23.74
2    A      B  31.84
3    A      C  21.64
4    A      D  45.95
5    A      E  33.30
6    A      F  21.80

Remarque : Nous avons utilisé la fonction set.seed() pour garantir que cet exemple est reproductible.

Étape 2 : définir une fonction pour identifier les valeurs aberrantes

Dans ggplot2, une observation est définie comme une valeur aberrante si elle répond à l’une des deux exigences suivantes :

  • L’observation est 1,5 fois l’écart interquartile inférieur au premier quartile (Q1)
  • L’observation est 1,5 fois l’écart interquartile supérieur au troisième quartile (Q3).

Nous pouvons créer la fonction suivante dans R pour étiqueter les observations comme valeurs aberrantes si elles répondent à l’une de ces deux exigences :

find_outlier <- function(x) {
  return(x < quantile(x, .25) - 1.5*IQR(x) | x > quantile(x, .75) + 1.5*IQR(x))
}

Connexes : Comment interpréter l’intervalle interquartile

Étape 3 : Étiqueter les valeurs aberrantes dans les boxplots dans ggplot2

Ensuite, nous pouvons utiliser le code suivant pour étiqueter les valeurs aberrantes dans les boxplots dans ggplot2 :

library(ggplot2)
library(dplyr)

#add new column to data frame that indicates if each observation is an outlier
df <- df %>%
        group_by(team) %>%
        mutate(outlier = ifelse(find_outlier(points), points, NA))

#create box plot of points by team and label outliers
ggplot(df, aes(x=team, y=points)) +
  geom_boxplot() +
  geom_text(aes(label=outlier), na.rm=TRUE, hjust=-.5)

étiqueter les valeurs aberrantes dans les boxplots dans ggplot2

Notez que deux valeurs aberrantes sont étiquetées dans le graphique.

La première valeur aberrante est un joueur de l’équipe A qui a marqué 7,85 points et l’autre valeur aberrante est un joueur de l’équipe B qui a marqué 10,11 points.

Notez que nous pourrions également utiliser une variable différente pour étiqueter ces valeurs aberrantes.

Par exemple, nous pourrions échanger les points du joueur dans la fonction mutate() pour étiqueter les valeurs aberrantes en fonction du nom du joueur :

library(ggplot2)
library(dplyr)

#add new column to data frame that indicates if each observation is an outlier
df <- df %>%
        group_by(team) %>%
        mutate(outlier = ifelse(find_outlier(points), player, NA))

#create box plot of points by team and label outliers
ggplot(df, aes(x=team, y=points)) +
  geom_boxplot() +
  geom_text(aes(label=outlier), na.rm=TRUE, hjust=-.5)

La valeur aberrante de l’équipe A a désormais une étiquette N et la valeur aberrante de l’équipe B a désormais une étiquette D , car celles-ci représentent les noms de joueurs qui ont des valeurs aberrantes pour les points.

Remarque : L’argument hjust dans geom_text() est utilisé pour pousser l’étiquette horizontalement vers la droite afin qu’elle ne chevauche pas le point du tracé.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans ggplot2 :

Comment changer la taille de la police dans ggplot2
Comment supprimer une légende dans ggplot2
Comment faire pivoter les étiquettes des axes dans ggplot2

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *