我正在尝试用一组300万行数据中以前可用的非NA值填充NA值。目前我可以做到这一点,但这需要大约3小时。
Constrains -我不能使用任何库,它必须用R basic完成
数据-我的数据如下所示(摘录)
目前,我一直在使用以下代码
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值何时发生。
有人有更好的解决方案吗?尤其是速度更快的
https://stackoverflow.com/questions/50586602
复制相似问题