如何用lubridate求和或计算多个重叠时间间隔?

时间:2019-03-27 11:51:45

标签: r lubridate

我有很多年的冥想记录,每个记录都有开始和结束时间。我想创建一天中最活跃的时间的漂亮图表。 (换句话说,相对于一天中的其他时间,我早上7点打坐的频率相对较高?)

     ID           StartTime             EndTime
1  2679 2019-03-23 07:00:00 2019-03-23 07:30:00
2  2678 2019-03-22 07:00:00 2019-03-22 07:30:00
3  2677 2019-03-21 07:00:00 2019-03-21 07:30:00
4  2676 2019-03-20 07:00:00 2019-03-20 07:30:00
5  2675 2019-03-19 07:00:00 2019-03-19 07:30:00
6  2674 2019-03-18 09:00:00 2019-03-18 09:30:00
7  2673 2019-03-18 09:00:00 2019-03-18 09:30:00
8  2672 2019-03-18 09:00:00 2019-03-18 10:00:00
9  2671 2019-03-15 07:00:00 2019-03-15 08:00:00
10 2670 2019-03-14 07:00:00 2019-03-14 08:00:00

dput版本:

structure(list(ID = 2679:2670, StartTime = structure(c(1553324400, 
1553238000, 1553151600, 1553065200, 1552978800, 1552899600, 1552899600, 
1552899600, 1552633200, 1552546800), class = c("POSIXct", "POSIXt"
), tzone = "UTC"), EndTime = structure(c(1553326200, 1553239800, 
1553153400, 1553067000, 1552980600, 1552901400, 1552901400, 1552903200, 
1552636800, 1552550400), class = c("POSIXct", "POSIXt"), tzone = "UTC")), row.names = c(NA, 
-10L), class = "data.frame")

我可以通过将每天变成1440个包含/不包含分钟的元素数组并将其加总来破解。得到这样的东西 Count of times when I was mediating minute by minute

但是我觉得必须有更好的方法。可能使用Interval和/或lubridate中的dplyr对象。但是我还没有弄清楚该怎么做。

0 个答案:

没有答案