难道ifelse真的同时计算yes和no载体-如,每个向量的全部?或者它只是从每个向量计算一些值?
还有,ifelse真的那么慢吗?
问题:如何在发生某个值之前向后填充组中的所有行.我不是试图填写NA或缺少使用值zoo na.locf.在下面我想在每个ID组发生1.00之前填充A中的所有先前行和1.00,理想情况下使用dplyr.
输入:
data<- data.frame(ID=c(1,1,1,1,2,2,2,3,3,3,4,4,4,4,4),
time=c(1,2,3,4,1,2,3,1,2,3,1,2,3,4,5),
A=c(0.10,0.25,1,0,0.25,1,0.25,0,1,0.10,1,0.10,0.10,0.10,0.05))
ID time A
1 1 0.10
1 2 0.25
1 3 1.00
1 4 0.00
2 1 0.25
2 2 1.00
2 3 0.25
3 1 0.00
3 2 1.00
3 3 0.10
4 1 1.00
4 2 0.10
4 3 0.10
4 4 0.10
4 5 0.05
Run Code Online (Sandbox Code Playgroud)
期望的输出:
ID time A
1 1 1.00
1 2 1.00
1 3 1.00
1 4 0.00
2 1 1.00
2 …Run Code Online (Sandbox Code Playgroud)