【发布时间】:2019-09-22 05:15:19
【问题描述】:
我有一个带有 ID、日期和值的 data.table,如下所示:
DT <- setDT(data.frame(ContractID= c(1,1,1,2,2), Date = c("2018-02-01", "2018-02-20", "2018-03-12", "2018-02-01", "2018-02-12"), Value = c(10,20,30,10,20)))
ContractID Date Value
1: 1 2018-02-01 10
2: 1 2018-02-20 20
3: 1 2018-03-12 30
4: 2 2018-02-01 10
5: 2 2018-02-12 20
我想获得一个新列,其中包含每个 ID 从一个月前到当前每一行的总累积总和,如下表所示。 注意:第三行是第二行和自己第三行的总和,因为 2018-03-12 减去 1 个月大于 2018-02-01,所以我们在总和中排除了第一行。
ContractID Date Value Cum_Sum_1M
1: 1 2018-02-01 10 10
2: 1 2018-02-20 20 30
3: 1 2018-03-12 30 50
4: 2 2018-02-01 10 10
5: 2 2018-02-12 20 30
有什么方法可以使用 data.table 实现这一点吗?
谢谢!
【问题讨论】:
标签: r date data.table cumsum