Come risolvere il problema: ggplot2 non sa come gestire dati di classi non uguali


Un errore che potresti riscontrare in R è:

 Error: ggplot2 doesn't know how to deal with data of class uneval

Questo errore in genere si verifica quando provi a utilizzare ggplot2 per tracciare due frame di dati contemporaneamente, ma non riesci a utilizzare l’argomento data nella funzione geom_line() .

Questo tutorial spiega esattamente come correggere questo errore.

Come riprodurre l’errore

Diciamo di avere due frame di dati in R che mostrano il numero di vendite effettuate in orari specifici e in giorni diversi:

 #create first data frame
df <- data. frame (date=c(1, 1, 1, 2, 2, 2, 3, 3, 3),
                 hour=c(1, 2, 3, 1, 2, 3, 1, 2, 3),
                 sales=c(2, 5, 7, 5, 8, 12, 10, 14, 13))

#view data frame
head(df)

  date hour sales
1 1 1 2
2 1 2 5
3 1 3 7
4 2 1 5
5 2 2 8
6 2 3 12

#create second data frame
df_new <- data. frame (date=c(4, 4, 4, 5, 5, 5),
                     hour=c(1, 2, 3, 1, 2, 3),
                     sales=c(12, 13, 19, 15, 18, 20))

#view data frame 
head(df_new)

  date hour sales
1 4 1 12
2 4 2 13
3 4 3 19
4 5 1 15
5 5 2 18
6 5 3 20

Ora diciamo che stiamo provando a creare un grafico a linee per visualizzare le vendite raggruppate per giorno e ora, utilizzando il colore blu per il primo frame di dati e rosso per il secondo frame di dati:

 library (ggplot2)

#attempt to create line chart
ggplot(df, aes(x=hour, y=sales, group=date)) +
  geom_line(color=' blue ') +
  geom_line(df_new, aes(x=hour, y=sales, group=date), color=' red ')

Error: ggplot2 doesn't know how to deal with data of class uneval

Stiamo ricevendo un errore perché non siamo riusciti a utilizzare l’argomento data nella seconda funzione geom_line() .

Come correggere l’errore

Il modo per correggere questo errore è semplicemente inserire i dati nel secondo argomento geom_line() in modo che R sappia quale frame di dati stiamo cercando di tracciare.

 library (ggplot2)

#create line chart
ggplot(df, aes(x=hour, y=sales, group=date)) +
  geom_line(color=' blue ') +
  geom_line(data=df_new, aes(x=hour, y=sales, group=date), color=' red ') 

Tieni presente che questa volta siamo in grado di creare il grafico a linee con successo senza errori.

Risorse addizionali

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

Come risolvere il problema in R: è necessario fornire l’errore in as.Date.numeric(x): è necessario fornire “origine”.
Come risolvere il problema: Errore in stripchart.default(x1, …): metodo di stampa non valido
Come risolvere: errore in eval (predvars, data, env): oggetto ‘x’ non trovato

Aggiungi un commento

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