Как преобразовать фактор столбца в дату во фрейме данных в г

У меня есть фрейм данных в r со следующей структурой:

TERMINAL_ID ACTION_DATE ACC_AMOUNT
1009162   02-JAN-18      14.30
1009162   02-JAN-18      21.45

и класс для 'action_date' является фактором, и я хотел бы преобразовать его в дату. Я попробовал этот код, но безуспешно

dataf <- as.Date(as.character(data$ACTION_DATE),
                                format = "%d-%y-%Y")
fdate=as.POSIXlt(data$ACTION_DATE, "%d-%b-%y")

3 ответа

Решение
as.Date('02-JAN-18', format = '%d-%B-%y')

[1] "2018-01-02"

Или с помощью lubridate

library(lubridate)
dmy("02-Jan-17")

это превращает вашего персонажа, который содержит дату в d(ays)m(onth)y(ear) в формат Date.

Я создал вектор x с форматом даты вы упомянули. С использованием lubridate пакет, решение было довольно простым.

x<- as.factor(c("02-JAN-18", "03-JAN-19", NA, "abc"))
lubridate::dmy(x)
#> Warning: 1 failed to parse.
#> [1] "2018-01-02" "2019-01-03" NA           NA

Создано в 2018-10-01 пакетом представлением (v0.2.1)

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