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 résoudre le problème : l’esthétique doit être soit de longueur 1, soit identique aux données.



Une erreur que vous pouvez rencontrer dans R est :

Error: Aesthetics must be either length 1 or the same as the data (5): fill

Cette erreur se produit lorsque vous tentez de spécifier les couleurs de remplissage à utiliser dans un tracé ggplot2, mais que le nombre de couleurs que vous avez spécifié est différent de 1 ou différent du nombre total d’objets à remplir.

L’exemple suivant montre comment corriger cette erreur dans la pratique.

Comment reproduire l’erreur

Supposons que nous travaillions avec l’ensemble de données R intégré appelé airquality :

#view first six lines 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

Supposons maintenant que nous essayions de créer plusieurs diagrammes en boîte pour visualiser la distribution des valeurs d’ozone pour chaque mois :

library(ggplot2)

#attempt to create multiple boxplots
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
    geom_boxplot(fill=c('steelblue', 'red'))

Error: Aesthetics must be either length 1 or the same as the data (5): fill

Nous recevons une erreur car il y a 5 mois uniques dans l’ensemble de données (nous allons donc créer 5 boxplots) mais nous n’avons fourni que deux couleurs à l’argument de remplissage .

Comment réparer l’erreur

Il existe deux manières de corriger cette erreur :

Méthode 1 : n’utiliser qu’une seule couleur dans l’argument de remplissage

Nous pourrions choisir de n’utiliser qu’une seule couleur dans l’argument fill :

library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
    geom_boxplot(fill=c('steelblue'))

Cela nous permet de remplir chaque boîte à moustaches avec la même couleur.

Méthode 2 : utiliser le même nombre de couleurs que le nombre de boîtes à moustaches

Nous pourrions également spécifier cinq couleurs à utiliser, car cela correspond au nombre de boîtes à moustaches que nous allons créer :

library(ggplot2)
ggplot(data = airquality, aes(x=as.character(Month), y=Temp)) +
    geom_boxplot(fill=c('steelblue', 'red', 'purple', 'green', 'orange'))

Nous ne recevons aucune erreur car le nombre de couleurs que nous avons fourni correspond au nombre de boxplots.

Ressources additionnelles

Les didacticiels suivants expliquent comment corriger d’autres erreurs courantes dans R :

Comment réparer : valeur discrète fournie à l’échelle continue
Comment réparer : l’argument n’est ni numérique ni logique : renvoie na
Comment réparer : le remplacement a une longueur nulle

Ajouter un commentaire

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