【发布时间】:2014-11-01 07:55:13
【问题描述】:
我有一个数据框,其中包含每个用户每周的页面浏览量。我想确定,对于每个用户,他们的浏览量在某个事件之后是增加、减少还是保持不变。我的数据如下所示:
Userid week xeventinweek numviews
Alice 1 2 5
Alice 2 0 3
Alice 4 1 6
Bob 2 2 3
Bob 3 0 5
因此,在这种情况下,爱丽丝在第 1 周有 2 场活动后,她的观看次数减少了,而她在第 2 周没有活动可以衡量。然而,鲍勃在举办两场比赛后的一周内将他的观看次数从 3 增加到 5。
我想要一张表格,其中包含每周至少有一个事件的观看次数差异。所以它应该看起来像这样:
Userid week xeventinweek numviews numnextweek difference
Alice 1 2 5 3 -2
Alice 4 1 6 NA NA #the row for week 2 is missing because there were no events then for Alice
Bob 2 2 3 5 2
不必同时拥有 numnextweek 列和差异列 - 要么 要么 可以。
我可以使用 data.table 和 for 循环来做到这一点,但是运行时间太长以至于不可行。我曾想过使用滚动联接,但对于分组数据似乎不可能(即需要为每个用户 ID 单独完成。)如何使用 data.table 的本机功能来做到这一点?
【问题讨论】:
标签: r join merge data.table