Lösung: ggplot2 weiß nicht, wie mit ungleichen klassendaten umgegangen werden soll
Ein Fehler, der in R auftreten kann, ist:
Error: ggplot2 doesn't know how to deal with data of class uneval
Dieser Fehler tritt normalerweise auf, wenn Sie versuchen, mit ggplot2 zwei Datenrahmen gleichzeitig zu zeichnen, aber das Datenargument in der Funktion geom_line() nicht verwenden können.
In diesem Tutorial wird genau erklärt, wie Sie diesen Fehler beheben können.
So reproduzieren Sie den Fehler
Nehmen wir an, wir haben zwei Datenrahmen in R, die die Anzahl der Verkäufe zu bestimmten Zeiten und an verschiedenen Tagen anzeigen:
#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
Nehmen wir nun an, wir versuchen, ein Liniendiagramm zu erstellen, um Verkäufe nach Tag und Stunde gruppiert darzustellen, wobei wir die Farbe Blau für den ersten Datenrahmen und Rot für den zweiten Datenrahmen verwenden:
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
Wir erhalten eine Fehlermeldung, weil wir das Datenargument in der zweiten geom_line()- Funktion nicht verwendet haben.
So beheben Sie den Fehler
Die Möglichkeit, diesen Fehler zu beheben, besteht darin, die Daten einfach in das zweite geom_line()- Argument einzugeben, damit R weiß, welchen Datenrahmen wir darzustellen versuchen.
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 ')
Beachten Sie, dass wir das Liniendiagramm dieses Mal erfolgreich und ohne Fehler erstellen konnten.
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in R beheben können:
So beheben Sie in R: Fehler in as.Date.numeric(x): „origin“ muss angegeben werden
So beheben Sie: Fehler in stripchart.default(x1, …): Ungültige Plotmethode
So beheben Sie: Fehler in der Auswertung (Predvars, Daten, Umgebung): Objekt „x“ nicht gefunden