Come risolvere l'errore in r:: `mapping` deve essere creato da `aes()`


Un errore che potresti riscontrare quando usi R è:

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

Questo errore si verifica quando provi a utilizzare l’argomento aes() durante la creazione di un grafico in ggplot2 e lo usi nel posto sbagliato o lo usi senza la sintassi “mappatura”.

L’esempio seguente mostra come correggere questo errore nella pratica.

Come riprodurre l’errore

Supponiamo di provare a creare un boxplot utilizzando 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()`

Riceviamo un errore perché l’argomento aes() viene utilizzato nella funzione geom_boxplot() senza utilizzare la sintassi ‘mapping’.

Come correggere l’errore

Esistono due modi per correggere questo errore.

Metodo 1: utilizzare la sintassi “mapping”.

Un modo per correggere l’errore è utilizzare specificamente la sintassi ‘mapping’ davanti all’argomento 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)) 

Poiché abbiamo utilizzato esplicitamente la sintassi della mappatura , abbiamo evitato qualsiasi errore.

Metodo 2: utilizzare ‘aes’ nella funzione ggplot

Un altro modo per correggere questo errore è utilizzare l’argomento aes() nella funzione ggplot() :

 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()

Siamo in grado di creare con successo il boxplot ed evitare eventuali errori perché abbiamo utilizzato l’argomento aes() nella funzione ggplot() .

Risorse addizionali

I seguenti tutorial spiegano come correggere altri errori comuni in R:

Come risolvere in R: plot.new non è stato ancora chiamato
Come risolvere il problema in R: formula modello non valida in ExtractVars
Come riparare in R: la sostituzione ha lunghezza zero

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *