我有数十万条记录,其中包含该时间范围内的开始时间、停止时间和活动类型。我希望能够找到与特定预设时间间隔重叠的总时间,并按活动类型分组。
这是我所拥有的:
start stop activity
2015-12-24 12:55:00.000 2015-12-24 13:25:00.000 a
2015-12-24 13:45:00.000 2015-12-24 13:59:00.000 b
2015-12-24 13:55:00.000 2015-12-24 14:10:00.000 b
2015-12-24 14:13:00.000 2015-12-24 15:05:00.000 a
这是我想要的最终结果的一个例子。这按半小时分组显示,但能够指定任何正常时间间隔(天、小时、半小时、一刻钟)是理想的:
intervalStart activityMinutes activity
2015-12-24 12:30:00.000 5 a
2015-12-24 13:00:00.000 25 a
2015-12-24 13:30:00.000 19 b
2015-12-24 14:00:00.000 17 a
2015-12-24 14:00:00.000 10 b
2015-12-24 14:30:00.000 30 a
2015-12-24 15:00:00.000 5 a
我有一个非常有效的 SQL 查询,这是我从今年早些时候发布的一个 stackoverflow 问题中得到的:
如何使用重叠的开始和停止时间(SQL)(t-SQL)对 15 分钟间隔内发生的活动时间求和
但是,在 R 中使用此查询确实很麻烦,并且根据我正在查看的日期范围并不总是有效。它也很慢,我希望使用 R 的解决方案会更快、更可靠。
感谢您的帮助,如果我可以提供任何其他信息,请告诉我!
编辑 - 编辑以显示 30 分钟间隔时间段的结果