Comment réparer dans R : erreur : `mapping` doit être créé par `aes()`



Une erreur que vous pouvez rencontrer lors de l’utilisation de R est :

Error: `mapping` must be created by `aes()`

Cette erreur se produit lorsque vous essayez d’utiliser l’argument aes() lors de la création d’un tracé dans ggplot2 et que vous l’utilisez au mauvais endroit ou que vous l’utilisez sans la syntaxe de « mappage ».

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

Comment reproduire l’erreur

Supposons que nous essayions de créer un boxplot en utilisant ggplot2 :

library(ggplot2)

#create data
df <- data.frame(y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#attempt to create boxplot for 'x1' variable
ggplot() +
  geom_boxplot(df, aes(x=x1))

Error: `mapping` must be created by `aes()`

Nous recevons une erreur car l’argument aes() est utilisé dans la fonction geom_boxplot() sans utiliser la syntaxe ‘mapping’.

Comment réparer l’erreur

Il existe deux façons de corriger cette erreur.

Méthode 1 : utiliser la syntaxe « mapping »

Une façon de corriger l’erreur consiste à utiliser spécifiquement la syntaxe ‘mapping’ devant l’argument aes() :

library(ggplot2)

#create data
df <- data.frame(y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#create boxplot for 'x1' variable
ggplot() +
  geom_boxplot(df, mapping=aes(x=x1))

Puisque nous avons explicitement utilisé la syntaxe de mappage , nous avons évité toute erreur.

Méthode 2 : utilisez ‘aes’ dans la fonction ggplot

Une autre façon de corriger cette erreur consiste à utiliser l’argument aes() dans la fonction ggplot() :

library(ggplot2)

#create data
df <- data.frame(y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28),
                 x1=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
                 x2=c(8, 7, 7, 6, 6, 4, 3, 5, 4, 6, 5, 4, 3, 2, 2))

#create boxplot for 'x1' variable
ggplot(df, aes(x=x1)) +
  geom_boxplot()

Nous sommes en mesure de créer avec succès le boxplot et d’éviter toute erreur car nous avons utilisé l’argument aes() dans la fonction ggplot() .

Ressources additionnelles

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

Comment réparer dans R : plot.new n’a pas encore été appelé
Comment réparer dans R : formule de modèle invalide dans ExtractVars
Comment réparer dans R : 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 *