我想对变量进行最后一次观察,但最多只能进行 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)