我要填写,假设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)})]
谢谢!