Разобрать дату 24:00 AM в R - PullRequest
       15

Разобрать дату 24:00 AM в R

0 голосов
/ 01 сентября 2018

У меня есть данные с нетрадиционным форматом даты для полуночи. В необработанных данных полночь рассматривается как "1/1/2018 24:00 AM" вместо "1/2/2018 00:00 AM". Зачем кому-то это делать?

Я хотел бы преобразовать этот символьный вектор в формат POSIXct().

Вот некоторые примеры данных:

datetime <- c("1/1/2018 11:00 PM", "1/1/2018 24:00 AM", "1/2/2018 01:00 AM")

Следующий код не может разобрать полночь, но делает то, что я хочу в противном случае:

as.POSIXct(datetime, format = "%m/%d/%Y %I:%M %p")

Возвращает следующее:

[1] "2018-01-01 23:00:00 GMT" NA                        "2018-01-02 01:00:00 GMT"

1 Ответ

0 голосов
/ 01 сентября 2018

В качестве альтернативы можно использовать lubridate::mdy_hm, который правильно анализирует 24:00 AM как 00:00 AM на следующий день.

library(lubridate)
mdy_hm(datetime)
#[1] "2018-01-01 23:00:00 UTC" "2018-01-02 00:00:00 UTC"
#[3] "2018-01-02 01:00:00 UTC"
...