我有大多数NA
条目的向量.我想NA
用前面的非NA
入口替换每个向量.具体来说,第一个条目将始终为1,后面跟着一堆NA
s,我想用1代替.i
第一个条目可能是另一个数字,比方说2,然后是更多NA
s,我想用2代替.等等.下面的循环实现了这一点,但必须有更多的R方式来做,对吧?我想用矢量化ifelse()
,但我无法弄清楚如何用i
th条目替换i-1
th条目.
> vec <- rep(NA, 10)
> vec
[1] NA NA NA NA NA NA NA NA NA NA
> vec[1] <- 1; vec[4] <- 2; vec[7] <- 3
> vec
[1] 1 NA NA 2 NA NA 3 NA NA NA
> for (i in 1:length(vec)) if (is.na(vec[i])) vec[i] <- vec[i-1]
> vec
[1] 1 1 1 2 2 2 3 3 3 3
Run Code Online (Sandbox Code Playgroud)
谢谢!
如果上下文有帮助,我正在调整WRDS数据库中的库存拆分,该数据库有一个列,显示拆分发生的时间和方式.