【发布时间】:2019-03-28 15:36:57
【问题描述】:
我有一个像下面这样的 R 数据框,其中包含每个用户和他们活跃的天数列表。
User date_active
1 2018-08-27
1 2018-08-28
1 2018-08-29
1 2018-08-31
1 2018-09-01
2 2018-07-05
2 2018-07-06
2 2018-07-07
2 2018-07-08
2 2018-07-10
2 2018-07-11
2 2018-07-12
2 2018-07-20
我想计算所有日期,直到间隔重新开始计数。对于上述数据,我的预期输出如下表所示。
User date_active
1 3
1 2
2 4
2 3
2 1
我最初的猜测是使用rank 函数或difftime,但我不确定如何获得结果。非常感激任何的帮助!
【问题讨论】:
-
我认为这应该让你继续前进:How to partition a vector into groups of regular, consecutive sequences?。这是一篇关于如何使用
cumsum(diff(...成语创建分组变量的好文章。 -
根据您的输出,您的第 11 行可能意味着
2018-07-11而不是2018-08-11 -
啊,是的,我的错!