Hoe op te lossen in r: fout: `mapping` moet worden gemaakt door `aes()`
Een fout die u kunt tegenkomen bij het gebruik van R is:
Error: `mapping` must be created by `aes()`
Deze fout treedt op wanneer u het aes()- argument probeert te gebruiken bij het maken van een plot in ggplot2 en deze op de verkeerde plaats gebruikt of gebruikt zonder de „mapping“-syntaxis.
Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt corrigeren.
Hoe de fout te reproduceren
Stel dat we proberen een boxplot te maken met ggplot2:
library (ggplot2) #createdata 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()`
We ontvangen een foutmelding omdat het argument aes() wordt gebruikt in de functie geom_boxplot() zonder gebruik te maken van de ‚mapping‘-syntaxis.
Hoe u de fout kunt oplossen
Er zijn twee manieren om deze fout op te lossen.
Methode 1: gebruik de “mapping”-syntaxis
Eén manier om de fout op te lossen is door specifiek de ‚mapping‘-syntaxis te gebruiken vóór het aes() -argument:
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))
Omdat we expliciet gebruik maakten van de syntaxis van mapping , hebben we eventuele fouten vermeden.
Methode 2: Gebruik ‚aes‘ in de ggplot-functie
Een andere manier om deze fout op te lossen is door het aes() -argument in de ggplot()- functie te gebruiken:
library (ggplot2) #createdata 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()
We kunnen de boxplot met succes maken en eventuele fouten vermijden, omdat we het argument aes() in de functie ggplot() hebben gebruikt.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Hoe op te lossen in R: plot.new is nog niet aangeroepen
Oplossing in R: ongeldige sjabloonformule in ExtractVars
Hoe te repareren in R: vervanging heeft een lengte van nul