У меня проблема с вычислением разницы во времени между двумя переменными. Чтобы было ровно время между засыпанием и пробуждением. Я думал об использовании chron для этого, и это мой пример.
DF <- data.frame(time_start = c("20:00", "21:30", "22:00", "23:00", "00:30", "02:00", "04:00"),
time_end = c("03:00", "06:30", "07:00", "09:00", "5:30", "09:00", "10:00"))
library(chron)
DF$time_start <- paste0(DF$time_start, ":00")
DF$time_start <- chron(times. =DF$time_start)
DF$time_end <- paste0(DF$time_end, ":00")
DF$time_end <- chron(times. =DF$time_end)
DF$time_duration <- times(DF$time_end - DF$time_start)
Форматирование переменных с помощью chron работает частично так, как задумано. Резюме для time_end выглядит хорошо. time_start, с другой стороны, довольно грязный. И time_duration является десятичным.
> summary(DF$time_start)
Min. 1st Qu. Median Mean 3rd Qu. Max.
00:30:00 03:00:00 20:00:00 13:17:09 21:45:00 23:00:00
> summary(DF$time_end)
Min. 1st Qu. Median Mean 3rd Qu. Max.
03:00:00 06:00:00 07:00:00 07:08:34 09:00:00 10:00:00
> summary(DF$time_duration)
Min. 1st Qu. Median Mean 3rd Qu. Max.
-0.7083333 -0.6250000 -0.5833333 -0.2559524 0.2291667 0.2916667
Мои вопросы:
Как я могу получить правдоподобные итоговые результаты для time_start и
, как я могу получить разницу между time_start и time_end в более читабельный способ, как часы? Заранее спасибо за помощь!