我有一个不规则的时间序列,我正在尝试在 3 个月的窗口中为与 ID 关联的每个操作计算滚动总和。
数据结构如下
ID Operation date value
A 1 01/01/2017 0
A 2 01/02/2017 1
A 3 01/06/2017 1
A 4 01/09/2017 0
B 1 01/03/2017 0
B 2 01/05/2017 1
B 3 01/09/2017 0
B 4 01/10/2017 1
我正在寻找这个输出
ID Operation date value cumsum
A 1 01/01/2017 0 0
A 2 01/02/2017 1 1
A 3 01/06/2017 1 1
A 4 01/09/2017 0 1
B 1 01/03/2017 0 0
B 2 01/05/2017 1 1
B 3 01/09/2017 1 1
B 4 01/10/2017 1 2
现在我正在使用这个脚本
DB<-DB[with(DB,order(ID,date)),]
DB<-DB %>% group_by(ID) %>% mutate(cumsum = cumsum(value))
但它总结了所有过去操作的价值。我如何介绍 3 个月的滚动金额?