【发布时间】:2019-02-18 06:35:29
【问题描述】:
我想对变量进行最后一次观察,但最多只能进行 2 次观察。也就是说,对于 3 个或更多 NA 的数据间隙,我只会将最后一个观察结果转移到接下来的 2 个观察结果,其余的保留为 NA。
如果我使用zoo::na.locf 执行此操作,maxgap 参数意味着如果间隙大于 2,则不会替换 NA。甚至没有最后 2. 有没有其他选择?
x <- c(NA,3,4,5,6,NA,NA,NA,7,8)
zoo::na.locf(x, maxgap = 2) # Doesn't replace the first 2 NAs of after the 6 as the gap of NA is 3.
Desired_output <- c(NA,3,4,5,6,6,6,NA,7,8)
【问题讨论】: