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