Я пытаюсь использовать lubridate :: round_date () для столбца datetime в большом наборе данных (~ 3 миллиона строк * 23 столбца), используя этот код:
time_bin <- "1 hour"
data %<>% mutate(rounded_time = lubridate::round_date(UTC_datetime, time_bin),
time_format = strftime(rounded_time,format = "%Y-%m-%d %H:%M:%S"))%>% droplevels()
При запуске этого кода на субдискретизированный набор данных (1000 строк):
data<-data[1:1000,]
все отлично работает, а время округляется до ближайшего часа:
head(data)[,25]
[1] "2019-10-01 04 : 00: 00 "" 2019-10-01 05:00:00 "" 2019-10-01 06:00:00 "" 2019-10-01 07:00:00 "[5]" 2019-10-01 09:00:00 "" 2019-10-01 10:00:00 "
, тогда как при запуске кода над полным набором данных я получаю дату и все нули, где время должно быть:
head(data)[,25]
[1] "2019-10-01 00:00:00" "2019-10-01 00:00:00" "2019-10-01 00:00:00" "2019 -10-01 00:00:00 "[5]" 2019-10-01 00:00:00 "" 2019-10-01 00:00:00 "
Есть идеи о том, что что могло пойти не так и как это исправить?
Спасибо! Идан