Как преобразовать формат даты 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")