Я пытаюсь использовать расплав для построения некоторых данных, загруженных из Excel, но по какой-то причине даже после преобразования моей даты из файла Excel в формат R я продолжаю получать сообщение об ошибке. Вот как выглядят мои данные (всего 40 переменных и 66 строк):
Date Actual Fcst1 Fcst2 Fcst3 Fcst4
2015-01-01 500 600 700 400 450
2015-02-01 600 610 630 480 600
2015-03-01 700 234 875 754 733
.......... ... ... ... ... ...
Затем я запускаю следующую строку кода для преобразования в формат ymd:
df <- df %>%
mutate(Date = ymd(Date))
meltdf = melt(df, id = "Date")
Я также пробовал pivot_longer вместо использования melt. Однако, когда я на самом деле рисую данные, это дает мне ошибку
Error in charToDate(x) :
character string is not in a standard unambiguous format
Вот код для графика:
ggplot(meltdf, aes(
x = Date,
y = value,
colour = variable,
group = variable
)) + geom_line(size = 1) + geom_line(meltdf[meltdf$Date == "Actual", ],
aes(x = Date, y = value),
colour = "black",
lwd = 1.2)
Я понятия не имею, почему это продолжает происходить. R даже говорит, что дата преобразована правильно (у меня загружен tidylog, чтобы показать изменения данных). Спасибо за помощь!
Изменить: я просто запустил str(df$Date)
, чтобы посмотреть, какой формат был, и вот результат:
Date[1:66], format: "2015-01-01" "2015-02-28" "2015-03-31" "2015-04-30" "2015-05-31" "2015-06-30" "2015-07-31" "2015-08-31" ...