有什么方法可以填写不超过连续NA的限制数量?

时间:2019-02-13 09:11:11

标签: r data.table na

我要填写,假设r中连续3个NA。我想填写那些达到极限点的数据,但只想填写最多3个连续的NA。例如。假设我有以下对象:

x<-c(1.6533926 , 1.9263536 ,  NA , NA, 0.6378220, -0.1162299, -0.5909386, -0.4997750,  0.2603278,  0.8183298, NA, NA, NA,NA,NA,NA)

我知道有一个名为na.locf的函数,带有maxgap选项。不过,maxgap会丢弃连续nas数达到限制的情况。

na.locf(y, maxgap=3)

我想最多填写3个连续的NA。那我应该有以下几点。附带地。我想保留未填写的NA。

y<-c(1.6533926 , 1.9263536 ,  1.9263536 ,1.9263536, 0.6378220, -0.1162299, -0.5909386, -0.4997750,  0.2603278,  0.8183298, 0.8183298, 0.8183298, 0.8183298,NA,NA,NA)

此外,我想指定我正在数据表的上下文中使用它。我的原始代码以以下方式显示:

df[, lapply(.SD, function(x){na.locf(x,na.rm=FALSE)})]

谢谢!

0 个答案:

没有答案