我需要计算列" sum_other_users_30d"来自以下数据集(示例):
id user count date_start date_current **sum_other_users_30d**
1 1 3 2015-01-01 2015-01-07 16
1 1 2 2015-01-01 2015-01-10 16
1 1 5 2015-01-01 2015-01-20 16
1 1 1 2015-01-01 2015-02-22 16
1 2 1 2015-02-02 2015-01-15 3
1 2 1 2015-02-02 2015-01-10 3
1 2 6 2015-02-02 2015-01-30 3
1 2 2 2015-02-02 2015-02-22 3
1 3 1 2015-01-16 2015-01-17 14
1 3 1 2015-01-16 2015-01-31 14
1 3 6 2015-01-16 2015-01-30 14
1 3 2 2015-01-16 2015-02-22 14
每次观察的sum_other_users_30d的值是其他用户值的计数(用户!=当前obs中的用户)的总和,date_current在给定date_start的30天内(date_current - 30< = date_start in current obs)
例如,在第一行中,16的总和由以下计数值组成:
id user count date_start date_current sum_other_users_30d
1 2 1 2015-02-02 2015-01-15 3
1 2 1 2015-02-02 2015-01-10 3
1 2 6 2015-02-02 2015-01-30 3
1 3 1 2015-01-16 2015-01-17 14
1 3 1 2015-01-16 2015-01-31 14
1 3 6 2015-01-16 2015-01-30 14
我试图在dplyr中使用mutate()进行此操作,但是我无法找到一种方法来将和条件引用到特定的观察值(用户不等当前用户等)。 我很感激你的帮助!