Oplossing: ggplot2 weet niet hoe om te gaan met ongelijke klassengegevens
Een fout die je tegen kunt komen in R is:
Error: ggplot2 doesn't know how to deal with data of class uneval
Deze fout treedt meestal op wanneer u ggplot2 probeert te gebruiken om twee gegevensframes tegelijk te plotten, maar het gegevensargument in de functie geom_line() niet kunt gebruiken.
In deze tutorial wordt precies uitgelegd hoe u deze fout kunt oplossen.
Hoe de fout te reproduceren
Laten we zeggen dat we twee dataframes in R hebben die het aantal verkopen op specifieke tijdstippen en op verschillende dagen weergeven:
#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
Laten we nu zeggen dat we een lijndiagram proberen te maken om de verkopen gegroepeerd op dag en uur te visualiseren, met de kleur blauw voor het eerste dataframe en rood voor het tweede dataframe:
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
We ontvangen een foutmelding omdat we het data- argument in de tweede functie geom_line() niet hebben gebruikt.
Hoe u de fout kunt oplossen
De manier om deze fout op te lossen is door eenvoudigweg de gegevens in het tweede argument geom_line() in te voeren, zodat R weet welk dataframe we proberen te plotten.
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 ')
Merk op dat we het lijndiagram deze keer met succes en zonder fouten kunnen maken.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in R kunt oplossen:
Hoe op te lossen in R: fout in as.Date.numeric(x): „origin“ moet worden opgegeven
Oplossing: Fout in stripchart.default(x1, …): Ongeldige plotmethode
Hoe op te lossen: fout in eval (predvars, data, env): object ‚x‘ niet gevonden