Время округления до ближайшего часа в R
У меня есть данные в формате
time <- c("16:53", "10:57", "11:58")
и т.д.
Я хотел бы создать новый столбец, где каждое из этих периодов округляется до ближайшего часа. Кажется, я не могу заставить команду POSIX работать для меня.
as.character(format (data2 $time, "% H:% M" ))
Ошибка в формате .default(структура (as.character(x), names = names (x), dim = dim (x),: неверный аргумент "trim"
Не говоря уже о применении круглой команды. Может ли кто-нибудь посоветовать?
Ответы
Ответ 1
## Example times
x <- c("16:53", "10:57", "11:58")
## POSIX*t objects need both date and time specified
## Here, the particular date doesn't matter -- just that there is one.
tt <- strptime(paste("2001-01-01", x), format="%Y-%m-%d %H:%M")
## Use round.Date to round, then format to format
format(round(tt, units="hours"), format="%H:%M")
# [1] "17:00" "11:00" "12:00"