所以我有一个如下所示的数据框:
> sample
userid time_intervals Freq
00008bb4da272a962c275faa085d66d2 2009-01-01 0
00008bb4da272a962c275faa085d66d2 2009-02-01 0
00008bb4da272a962c275faa085d66d2 2009-03-01 0
00008bb4da272a962c275faa085d66d2 2009-04-01 0
00008bb4da272a962c275faa085d66d2 2009-05-01 13
00008bb4da272a962c275faa085d66d2 2009-06-01 0
00008bb4da272a962c275faa085d66d2 2009-07-01 4
可在此处访问dput:https://gist.github.com/anonymous/d4ccfed8e315e3bc7f3233a7e55512f9
频率表分为35个一个月的时段(所有用户都相同)。换句话说,每隔35行,userid显示一个新值,time_intervals从2009-01-01开始重新开始。
现在,我无法弄清楚如何执行以下操作(我对数据框架的经验很少):我需要找出持续活跃用户的数量(其中所有月份的Freq> 0) )从2009年1月1日开始,在12个月的时间内,每个步骤进一步移动一个月。我基本上需要用户在连续12个月的整个时间段内没有freq = 0的time_interval,以便能够在我的分析中使用它们。
我在交叉标签格式中也有相同的数据(不知道哪一种更适合使用):
> head(freq_user_month)
time_intervals
userid 2009-01-01 2009-02-01 2009-03-01 2009-04-01 2009-05-01
00008bb4da272a962c275faa085d66d2 0 0 0 0 0
0000bc16c8cd37af06a426da70817b67 0 0 0 0 0
0000e06e07496624211632e8e264126c 0 0 0 0 0
0001093b22d1ea8b6615eaf63245347b 0 0 0 0 0
00010cd7a9e5b6eb882e136f5cd7b4a7 0 0 0 0 0
00018d018ebf46845eb72194ebb342fc 0 0 0 0 0
我希望这个解释足够清楚。任何有关如何开始的帮助将不胜感激。