我想在我的df中创建一个列,根据id计算cumsum。但是当id改变时,sum必须重置为给定id的基值。所以我想有这样的事情:
id payment month year cumultative_sum
1 100 01 2015 100
1 150 02 2015 250
1 50 03 2015 300
2 75 07 2016 75
2 125 08 2016 200
现在使用我的代码,即使id发生变化,累积额仍然会添加更多实例,所以它看起来像这样:
id payment month year cumultative_sum
1 100 01 2015 100
1 150 02 2015 250
1 50 03 2015 300
2 75 07 2016 375
2 125 08 2016 500
这是我的代码:
df_ag <- df %>%
group_by(id) %>%
arrange(id, year, month) %>%
mutate(cumultative_sum = cumsum(payment))
我应该改变什么?