【发布时间】:2016-02-15 20:29:55
【问题描述】:
更新:这似乎在 SQL 论坛中得到了很好的描述——如何考虑时间范围之间的差距(其中许多是重叠的。)所以我可能不得不求助于 SQL 来快速解决这个问题,但我很惊讶它不能在“R”中完成。看起来间隔使用的对象几乎一直到那里,但在慢循环之外,似乎很难应用于向量范围的分析。如果您有任何想法,请告诉我,但这里是问题的描述及其在 SQL 中的解决方案:
....我想做的是从日志中列出非活动时间列表,然后对其进行过滤以显示最少的非活动时间。
1/17/2012 0:15 1/17/2012 0:31
1/20/2012 0:21 1/20/2012 0:22
1/15/2013 1:08 1/15/2013 1:10
1/15/2013 1:08 1/15/2013 1:10
1/15/2013 7:39 1/15/2013 7:41
1/15/2013 7:39 1/15/2013 7:41
1/16/2013 1:11 1/16/2013 1:15
1/16/2013 1:11 1/16/2013 1:15
我打算将结束时间延迟到开始行并计算差异,但后来很明显有重叠的活动。我还尝试了“价格合适”类型匹配以获得最接近的结束时间......当然,如果事情同时进行,这并不能保证未完成的同时任务没有任何活动。
我目前有日期时间输入和日期时间输出列。我希望有比获取数百万个条目并使用 seq.POSIXt 编写每个有活动的单独分钟更好的主意?但即使这样似乎也不太可行。但似乎有一些简单的方法可以识别最小时间间隔,无论是 5 分钟还是 30 分钟。有什么建议吗?
【问题讨论】:
-
我不明白问题是什么(以及预期的输出)。能改一下吗?
-
肯尼,是的——但不幸的是,我无法弄清楚如何在 R 中做到这一点。也许它需要一个循环......?
-
docendo,我想做的是想出一种方法来识别和量化用户活动日志中表示的非活动(最小长度)。
-
谢谢 Kenney——我知道在其他语言中我会如何做到这一点,但“R”中的口头禅似乎总是“永不循环”,而且它往往会导致性能问题..但它毕竟可能最终成为一个循环..