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.frame(〜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