【发布时间】:2024-01-03 06:55:01
【问题描述】:
我正在尝试创建一个列,其中包含比当前值大一的值的先前出现次数(按日期排序)。在此处提供的示例中,我在标记为“wanted”的列中手动创建了我想要的值,该值等于 RoundNo 的先前出现次数(按“日期”排序)等于焦点行大一的计数圆号我需要为每个InvestorID按组分别计算。
因此,第一行“想要”值等于投资者 1 的先前 RoundNo 的计数,其中 RoundNo == 3(也比第一行的 RoundNo 2 大)。所以在这种情况下,这将是 0。类似地,对于第二行,“想要的”值是投资者 1 的先前 RoundNo 的计数,其中 RoundNo == 2(也就是比第二行的 RoundNo 1 大一)。因此,在这种情况下,这将是 1。将不胜感激任何帮助。代码示例如下。谢谢!
dt = as.data.table(cbind(c(rep(1,7),rep(2,7)),
c("2019-08-01","2019-09-01","2019-10-01","2019-11-01","2019-12-01","2021-04-01","2021-10-01",
"2019-01-01","2019-02-01","2019-04-01","2019-08-01","2019-09-01","2019-10-01","2019-11-01"),
c(2,1,2,2,1,3,2,1,2,3,2,1,3,1)))
names(dt) = c("InvestorID","date","RoundNo")
wanted = c(0,1,0,0,3,0,1,0,0,0,1,2,0,2)
dt$wanted = wanted
【问题讨论】:
标签: r count data.table sequence