相关疑难解决方法(0)

ifelse每次都真的计算它的两个向量吗?它慢吗?

难道ifelse真的同时计算yesno载体-如,每个向量的全部?或者它只是从每个向量计算一些值?

还有,ifelse真的那么慢吗?

performance if-statement r vectorization

62
推荐指数
1
解决办法
2791
查看次数

从组出现的向后填充值

问题:如何在发生某个值之前向后填充组中的所有行.我不是试图填写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)

r dplyr

2
推荐指数
1
解决办法
121
查看次数

标签 统计

r ×2

dplyr ×1

if-statement ×1

performance ×1

vectorization ×1