【发布时间】:2017-05-26 16:08:09
【问题描述】:
问题:我正在尝试使用dplyr 或ave 执行以下操作:
按组 ID,如果给定时间段的 x1 为 0,并且之前 (t-1) 和未来 (t+1) 的值等于 1,则用 1 填充 x1。
ID = c("1","1","1","1","1","2","2","2","2","3","3","3")
time = c("1","2","3","4","5","1","2","3","4","1","2","3")
x1 = as.integer(c("0","1","0","1","1","0","0","0","0","1","0","1"))
df = data.frame(ID,time,x1)
数据:
ID time x1
1 1 0
1 2 1
1 3 0
1 4 1
1 5 1
2 1 0
2 2 0
2 3 0
2 4 0
3 1 1
3 2 0
3 3 1
我试图获得的输出:
ID time x1
1 1 0
1 2 1
1 3 1
1 4 1
1 5 1
2 1 0
2 2 0
2 3 0
2 4 0
3 1 1
3 2 1
3 3 1
【问题讨论】: