Как преобразовать формат даты Excel в соответствующую дату с помощью Lubridate

Я работаю с csv, который, к сожалению, записывал даты с использованием формата чисел 42705, хотя это должно быть 01/12/2016.

Я хотел бы преобразовать его в нужный формат в R, используя Lubridate или другой пакет. Есть ли функция, которая будет обрабатывать его?

Ответ 1

Вам не нужно использовать lubridate для этого, базовая функция as.Date отлично справляется с этим типом преобразования. Фокус в том, что вы должны указать источник, который в Excel - 30 декабря 1899 года.

as.Date(42705, origin = "1899-12-30")
# [1] "2016-12-01"

Если вы хотите сохранить свои типы столбцов, вы можете попробовать использовать функцию read_excel из пакета readxl. Это позволяет загружать XLS или XLSX файл с сохраненным форматированием чисел.

Ответ 2

Вот еще один способ сделать это с помощью пакетов janitor и tibble:

install.packages("janitor")

install.packages("tibble")

library(tibble)

library(janitor)

excel_numeric_to_date(as.numeric(as.character(YourDate), date_system = "modern")