0

我有数十万条记录,其中包含该时间范围内的开始时间、停止时间和活动类型。我希望能够找到与特定预设时间间隔重叠的总时间,并按活动类型分组。

这是我所拥有的:

    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 分钟间隔时间段的结果

4

0 回答 0