実際、imputeTSパッケージ (私はメンテナーです) は、これに対する優れたソリューションを提供します。
移動平均線への置き換え
na_ma(x, k = 2)
x は入力オブジェクトです k は移動平均ウィンドウです
k of 1 は前後の値のみを考慮することを意味し、k of 2 は前後の 2 つの値を考慮することを意味します。
この関数は、おそらく必要な計算に最も近いものです。唯一の違いは、imputeTS メソッドが NA 値を飛び越えないことです。(スレッド スターターの要求に応じて)
しかし、特に長い NA ストリークの場合、これは完全に理にかなっています。1, 2, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 14, 15, 16 (2 と 14 の平均を 3 位の NA に取るのは得策ではありません) )
さらにLast Observation Forward (コメントで 42 が述べたように)
imputeTS::na_locf(x)
または補間(G.グロタンディークも言及)
imputeTS::na_interpolation(x)
また、同じ方向に少し進むデータ置換オプションもありません。興味のある方は、R Journalの imputeTS パッケージの紹介をご覧ください。