17
用最新的非NA值替换NA
在data.frame(或data.table)中,我想用最接近的先前非NA值“填充” NA。data.frame以下是使用向量(而不是)的简单示例: > y <- c(NA, 2, 2, NA, NA, 3, NA, 4, NA, NA) 我想要一个fill.NAs()允许我构造的函数yy: > yy [1] NA NA NA 2 2 2 2 3 3 3 4 4 我需要对许多(总计〜1 Tb)小型data.frames(〜30-50 Mb)重复此操作,其中所有条目都是NA。解决这个问题的好方法是什么? 我煮的丑陋的解决方案使用此功能: last <- function (x){ x[length(x)] } fill.NAs <- function(isNA){ if (isNA[1] == 1) { isNA[1:max({which(isNA==0)[1]-1},1)] …
141
r
data.table
zoo
r-faq