Как преобразовать дату и время в числовое значение в R - PullRequest
0 голосов
/ 14 сентября 2018

Я относительно новичок в R, и у меня есть набор данных, в котором я пытаюсь преобразовать дату и время в числовое значение.Дата и время имеют формат 01JUN17: 00: 00: 00 в переменной с именем pickup_datetime.Я пытался использовать код

cab_small_sample$pickup_datetime <- as.numeric(as.Date(cab_small_sample$pickup_datetime, format = '%d%b%y'))

, но этот способ не включает время, я пытался добавить формат времени в раздел формата кода, но все еще не работал.Есть ли функция R, которая преобразует данные в числовое значение>

Ответы [ 2 ]

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

lubridate - чрезвычайно удобный пакет для работы с датами.Он включает в себя множество функций, которые выполняют для вас разбор даты / времени, при условии, что вы можете обеспечить порядок компонентов.В этом случае, поскольку ваши данные представлены в форме день-месяц-год-чмс, вы можете использовать функцию dmy_hms.

library(lubridate)
cab_small_sample <- dplyr::tibble(
    pickup_datetime = c("01JUN17:00:00:00", "01JUN17:11:00:00"))
cab_small_sample$pickup_POSIX <- dmy_hms(cab_small_sample$pickup_datetime)
0 голосов
/ 14 сентября 2018

R имеет два основных временных класса: «Дата» и «POSIXct».POSIXct - это класс datetime, и вы можете получить все подробности по адресу: ? DateTimeClasses.Страница справки для форматов, используемых во время ввода данных, однако, находится на ?striptime.

cab_small_sample <- data.frame(pickup_datetime = "01JUN17:00:00:00")
cab_small_sample$pickup_dt <- as.numeric(as.POSIXct(cab_small_sample$pickup_datetime,
                                                        format = '%d%b%y:%H:%M:%S'))
 cab_small_sample
#   pickup_datetime pickup_dt
#1 01JUN17:00:00:00   1496300400  # seconds since 1970-01-01

Я считаю, что «разрушительное переназначение значений», как правило, плохая идея, так как «мое (лучшее?) правило практики "Я не назначаю один и тот же столбец, пока не буду уверен, что код работает правильно.(И я всегда оставляю нетронутой копию где-нибудь в безопасности.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...