Jak naprawić: ggplot2 nie wie, jak obsługiwać dane nierównych klas


Błąd, który możesz napotkać w R to:

 Error: ggplot2 doesn't know how to deal with data of class uneval

Ten błąd zwykle występuje, gdy próbujesz użyć ggplot2 do wykreślenia dwóch ramek danych jednocześnie, ale nie możesz użyć argumentu data w funkcji geom_line() .

W tym samouczku dokładnie wyjaśniono, jak naprawić ten błąd.

Jak odtworzyć błąd

Załóżmy, że mamy w R dwie ramki danych, które pokazują liczbę sprzedaży dokonanych w określonych godzinach i w różnych dniach:

 #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

Załóżmy teraz, że próbujemy utworzyć wykres liniowy do wizualizacji sprzedaży pogrupowanej według dnia i godziny, używając koloru niebieskiego dla pierwszej ramki danych i czerwonego dla drugiej ramki danych:

 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

Otrzymujemy błąd, ponieważ nie udało nam się użyć argumentu data w drugiej funkcji geom_line() .

Jak naprawić błąd

Sposobem na naprawienie tego błędu jest po prostu wprowadzenie danych do drugiego argumentu geom_line(), tak aby R wiedział, jaką ramkę danych próbujemy wykreślić.

 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 ') 

Pamiętaj, że tym razem udało nam się pomyślnie utworzyć wykres liniowy bez żadnych błędów.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak rozwiązać inne typowe błędy w języku R:

Jak naprawić w R: błąd w as.Date.numeric(x): należy podać „pochodzenie”.
Jak naprawić: Błąd w stripchart.default(x1, …): Nieprawidłowa metoda kreślenia
Jak naprawić: błąd w eval (predvars, data, env): nie znaleziono obiektu „x”.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *