Конвертировать формат даты Excel в цепочку dplyr
Я загружаю файл Excel, в котором есть столбец, в котором даты хранятся в виде целых чисел (например, 43000 - 2017-09-22). Я попытался применить ответ на этот вопрос следующим образом:
df = df %>%
mutate(date = as.Date(date, origin = "1899-12-30"))
Но у меня следующая ошибка:
Error in mutate_impl(.data, dots) : Evaluation error: character string is not in a
standard unambiguous format. Calls: (...)
Я искал эту проблему, и все результаты о неправильном указании ввода строки для as.Date
но в этой ситуации входное значение является целым числом.
2 ответа
Решение
Просто нашел проблему: даты были как-то загружены в виде строки, а не целых чисел. Это решило мою проблему:
df = df %>%
mutate(date = as.Date(as.numeric(date), origin = "1899-12-30"))
Использование janitor::excel_numeric_to_date может сделать ваш код более кратким.
library(janitor)
df = df %>%
mutate(date = excel_numeric_to_date(as.numeric(date)))