Come correggere l'errore: "data" deve essere un dataframe o un altro oggetto coercibile da "fortify()", non un vettore numerico
Un errore che potresti riscontrare in R è:
Error: `data` must be a data frame, or other object coercible by `fortify()`, not a digital vector
Questo errore si verifica quando tenti di utilizzare ggplot2 per tracciare variabili in un frame di dati, ma fai riferimento a un vettore anziché a un frame di dati per l’argomento dati .
Questo tutorial spiega esattamente come correggere questo errore.
Come riprodurre l’errore
Supponiamo di avere il seguente frame di dati in R:
#create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8),
y=c(4, 8, 14, 19, 14, 13, 9, 9))
#view data frame
df
xy
1 1 4
2 2 8
3 3 14
4 4 19
5 5 14
6 6 13
7 7 9
8 8 9
Supponiamo ora di provare a creare un grafico a dispersione per visualizzare le variabili xey nel frame di dati:
library (ggplot2)
#attempt to create scatter plot
ggplot(df$x, aes(x=x, y=y)) +
geom_point()
Error: `data` must be a data frame, or other object coercible by `fortify()`,
not a digital vector
Stiamo ricevendo un errore perché abbiamo fatto riferimento a un vettore numerico ( df$x ) nell’argomento dati della funzione ggplot() anziché a un frame di dati.
Come correggere l’errore
Il modo per correggere questo errore è fare riferimento a un frame di dati per l’argomento data nella funzione ggplot() .
Nel nostro esempio, dovremmo usare df invece di df$x per l’argomento dati :
library (ggplot2)
#create scatterplot
ggplot(df, aes(x=x, y=y)) +
geom_point()
Tieni presente che questa volta siamo in grado di creare la nuvola di punti con successo senza errori.
Risorse addizionali
I seguenti tutorial spiegano come risolvere altri errori comuni in R:
Come risolvere: ggplot2 non sa come gestire dati di classi non uguali
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