Chcę wykresować wykres, który pokazuje liczbę transakcji (osi Y) przez cały rok obrotowy (dni, osi X). Mam jednak kod, gdy wprowadzam polecenie, otrzymuję następujący błąd:

Błąd: data musi być ramą danych lub innym obiektem przymialnym przez fortify(), a nie wektor znaków

Ze względu na odtwarzanie mojego błędu Przymocuję używane kody:

  • Aby utworzyć dataframe (daty w zakresie 2018-07-1 do 2019-06-30):
transactions_by_day <- seq(as.Date("2018-07-01"), by = "day", length.out = 365)

- Kod został dostarty do wykresu wykresu:

ggplot(transactions_by_day, aes(x = DATE, y = N)) +
 geom_line() +
 labs(x = "Day", y = "Number of transactions", title = "Transactions over time") +
 scale_x_date(breaks = "1 month") +
 theme(axis.text.x = element_text(angle = 90, vjust = 0.5))

Naprawdę próbowałem różnego rodzaju rzeczy, ale zachowuję ten sam błąd, więc doceniłbym jakąkolwiek pomoc.

0
AbetR 16 wrzesień 2020, 12:00

1 odpowiedź

Najlepsza odpowiedź

Jak już mówią, seq nie zwraca ramki danych. Aby przekonwertować go w ramce danych, użyj data.frame(). Więc w twoim przypadku:

transactions_by_day <- data.frame(Day = seq(as.Date("2018-07-01"), by = "day", length.out = 365))

Daj mi znać, jeśli to pomoże :)

0
Elias 16 wrzesień 2020, 09:09