我想知道是否有更快的方法使用 data.table/dplyr 来按组替换基于先前值的值。
假设我的原始数据表如下所示:
DT_orig <- data.table(name = c("A", "A", "A", "B", "B", "B"),
year = c("2001", "2002", "2003", "2001", "2002", "2003"),
treat = c(1,0,0, 0,0,1))
这看起来如下:
name year treat
1: A 2001 1
2: A 2002 0
3: A 2003 0
4: B 2001 0
5: B 2002 0
6: B 2003 1
在这里,对于每个人(姓名)和时间段(年),有一列(治疗)表明他们是否已被分配治疗。
我正在考虑另一种治疗方法,即一旦对个体进行治疗,该个体将继续接受治疗。因此,修改后的数据表应如下所示:
name year treat
1: A 2001 1
2: A 2002 1
3: A 2003 1
4: B 2001 0
5: B 2002 0
6: B 2003 1
请注意,对于 A 人,在 2001 年接受治疗意味着他们在接下来的几年中也接受了“治疗”。
因为我有一个非常大的数据表,我想知道是否有一种非常快速的修改方法来实现这一点。