有条件的缺失值估算

时间:2019-05-24 06:30:07

标签: r zoo

仅在连续缺失值是2个或更少时,如何估算缺失值,并使用R中的na.locf将其他缺失值保留为NA? 例如,

x<-c(2,1,NA,4,4,NA,NA,NA)

输出应该像

2,1,1,4,4,NA,NA,NA

第一个NA由先前的可用“ 1”来插补,而后3个NA不应被插补。

2 个答案:

答案 0 :(得分:5)

na.locf中的

zoo有一个'maxgap'参数,因此您可以轻松地做到:

library(zoo)

na.locf(x, maxgap = 2, na.rm = FALSE)
[1]  2  1  1  4  4 NA NA NA

答案 1 :(得分:0)

我们可以使用rleid中的data.table来创建组,使用ave来计算每个组的length,并且只有当值是该组的na.locfNA小于等于2。

length