Конвертировать формат даты 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)))

Другие вопросы по тегам