首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用以前的非NA可用值R填充NAs

用以前的非NA可用值R填充NAs
EN

Stack Overflow用户
提问于 2018-05-29 22:14:41
回答 2查看 120关注 0票数 0

我正在尝试用一组300万行数据中以前可用的非NA值填充NA值。目前我可以做到这一点,但这需要大约3小时。

Constrains -我不能使用任何库,它必须用R basic完成

数据-我的数据如下所示(摘录)

Data Extract As Example

目前,我一直在使用以下代码

代码语言:javascript
运行
复制
CHARDIF <- diff(VERINDEX_VEC)

k = 1
for (j in VERINDEX_VEC){
  #when value is in vector calculate difference to next value and copy VER. 
Special cases for First and Last value
  ifelse(j == 1, ALL_POS$C01[j:CHARDIF[k]] <- ALL_POS$C01[j],
         ifelse(j == max(VERINDEX_VEC), ALL_POS$C01[j:max(as.numeric
(row.names(ALL_POS)))] <- ALL_POS$C01[j],ALL_POS$C01[j:(j+CHARDIF[k]-1)] <- 
ALL_POS$C01[j]))
  k = k + 1
}

如你所见,我有一个包含非NA位置的向量,然后我计算了位置之间的差异,这有助于我选择要粘贴的范围,因为我知道下一个非NA值何时发生。

有人有更好的解决方案吗?尤其是速度更快的

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50586602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档