Problem
目前,我有一个大型的机组时刻表数据集,有开始和结束时间,我的目标是确定员工是否在上夜班.夜班定义为01:00:00至05:59:59之间的任何班次.我已经研究过%overlaps%之类的函数,但它们似乎不适用于仅时间戳.一些示例数据(UTC tz):
library(lubridate)
df <- data.frame(start = ymd_hms(c("2018-09-19 23:30:00", "2018-09-19 17:00:00", "2018-09-22 04:30:00")),
end = ymd_hms(c('2018-09-20 07:05:00', "2018-09-19 21:00:00", "2018-09-22 12:00:00")))
Solution
理想情况下,我希望得到以下输出,带有一个布尔变量,指示员工是否上夜班:
start end night.shift
2018-09-19 23:30:00 | 2018-09-20 07:05:00 | TRUE
2018-09-19 17:00:00 | 2018-09-19 21:00:00 | FALSE
2018-09-22 04:30:00 | 2018-09-22 12:00:00 | TRUE
提前谢谢!