Hoe de fout op te lossen: "data" moet een dataframe of ander object zijn dat kan worden afgedwongen door "fortify()", geen numerieke vector
Een fout die je tegen kunt komen in R is:
Error: `data` must be a data frame, or other object coercible by `fortify()`, not a digital vector
Deze fout treedt op wanneer u ggplot2 probeert te gebruiken om variabelen in een dataframe te plotten, maar u voor het data- argument verwijst naar een vector in plaats van naar een dataframe.
In deze tutorial wordt precies uitgelegd hoe u deze fout kunt oplossen.
Hoe de fout te reproduceren
Stel dat we het volgende dataframe in R hebben:
#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
Stel nu dat we proberen een spreidingsdiagram te maken om de x- en y-variabelen in het dataframe te visualiseren:
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
We ontvangen een foutmelding omdat we in het data- argument naar een numerieke vector ( df$x ) verwijzen naar de ggplot()- functie in plaats van naar een dataframe.
Hoe u de fout kunt oplossen
De manier om deze fout op te lossen is door te verwijzen naar een dataframe voor het data- argument in de ggplot()- functie.
In ons voorbeeld moeten we df gebruiken in plaats van df$x voor het data- argument:
library (ggplot2)
#create scatterplot
ggplot(df, aes(x=x, y=y)) +
geom_point()
Merk op dat we deze keer de puntenwolk met succes en zonder fouten kunnen maken.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Oplossing: ggplot2 weet niet hoe om te gaan met ongelijke klassengegevens
Oplossing: Fout in stripchart.default(x1, …): Ongeldige plotmethode
Hoe op te lossen: fout in eval (predvars, data, env): object ‚x‘ niet gevonden