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