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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert