1
スプライン法を使用して時系列を補間したいと思います。私は 'ギャップ許容値'を使用したいと思います。連続するx日数がNA
の場合、データはNA
のままであり、補間されません。私の例では、NAs
の連続した3日以上がある場合、私は補間しません。データ例:データ補間条件付きギャップ長
x <- seq(as.Date("2016-01-01"),as.Date("2016-01-31"),by="day")
y <- c(0.45062130 ,0.51136174 ,NA ,NA ,0.29481738 ,NA ,0.27713756 ,0.62638512 ,0.23547530,0.29253901 ,0.75899501 ,0.67779756 ,0.51831742 ,0.08050147 ,0.71183739 ,NA ,0.79406706 ,NA,0.03434758 ,0.59573892 ,0.22102821 ,0.13154414 ,NA ,NA ,NA ,NA ,0.23692593,0.95215104 ,0.38810846 ,0.17970580 ,0.05176054)
df <- data.frame(x,y)
> df
x y
2016-01-01 0.45062130
2016-01-02 0.51136174
2016-01-03 NA
2016-01-04 NA
2016-01-05 0.29481738
2016-01-06 NA
2016-01-07 0.27713756
2016-01-08 0.62638512
2016-01-09 0.23547530
2016-01-10 0.29253901
2016-01-11 0.75899501
2016-01-12 0.67779756
2016-01-13 0.51831742
2016-01-14 0.08050147
2016-01-15 0.71183739
2016-01-16 NA
2016-01-17 0.79406706
2016-01-18 NA
2016-01-19 0.03434758
2016-01-20 0.59573892
2016-01-21 0.22102821
2016-01-22 0.13154414
2016-01-23 NA
2016-01-24 NA
2016-01-25 NA
2016-01-26 NA
2016-01-27 0.23692593
2016-01-28 0.95215104
2016-01-29 0.38810846
2016-01-30 0.17970580
2016-01-31 0.05176054
私は2つの新しいデータフレームを作成することを考えました。第1のものは完全に補間され、第2のものはギャップ公差の下でNAs
を除去し、マージする。これを行うより良い方法はありますか?
マイ所望のデータセットは、次のようになります。
> df
x y
2016-01-01 0.45062130
2016-01-02 0.51136174
2016-01-03 0.35684617
2016-01-04 0.30481738
2016-01-05 0.29481738
2016-01-06 0.28481738
2016-01-07 0.27713756
2016-01-08 0.62638512
2016-01-09 0.23547530
2016-01-10 0.29253901
2016-01-11 0.75899501
2016-01-12 0.67779756
2016-01-13 0.51831742
2016-01-14 0.08050147
2016-01-15 0.71183739
2016-01-16 0.75158886
2016-01-17 0.79406706
2016-01-18 0.21584455
2016-01-19 0.03434758
2016-01-20 0.59573892
2016-01-21 0.22102821
2016-01-22 0.13154414
2016-01-23 NA
2016-01-24 NA
2016-01-25 NA
2016-01-26 NA
2016-01-27 0.23692593
2016-01-28 0.95215104
2016-01-29 0.38810846
2016-01-30 0.17970580
2016-01-31 0.05176054