как вы округлите время до следующего часа в R - PullRequest
1 голос
/ 04 апреля 2019

У меня есть значение данных

dput(a)
"1/3/2019 15:59"

Мне нужно округлить время до следующего часа.Мне нужно, чтобы эта дата была "1/3/2019 16:00"?

Как я могу это сделать?

Ответы [ 2 ]

8 голосов
/ 04 апреля 2019

Мы можем использовать lubridate dmy_hm для преобразования в объект даты и времени, а затем использовать ceiling_date для преобразования его в следующий час.

library(lubridate)
ceiling_date(dmy_hm("1/3/2019 15:59"), "hour")
#[1] "2019-03-01 16:00:00 UTC"
1 голос
/ 04 апреля 2019

Используйте round.POSIXt. Пакеты не используются.

x <- as.POSIXct("1/3/2019 15:59", format = "%m/%d/%Y %H:%M")
round(x + 3600/2 - !(as.numeric(x) %% 3600), "hours")
## [1] "2019-01-03 16:00:00 EST"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...