我有以下數據集。填充缺失值日期時間序列數據與插值R
name - old - new - datetime
1051 38656 38400 2016-01-24 03:22:37
1051 5888 5632 2016-01-24 04:03:28
1051 5632 38144 2016-01-24 04:34:22
1051 5120 4864 2016-01-24 03:56:33
1051 37376 37632 2016-01-25 08:08:16
.. .. .. ..
我想插數據集:
name - old - new - datetime
1051 ? ? 2016-01-24 03:20:00
1051 ? ? 2016-01-24 03:30:00
1051 ? ? 2016-01-24 03:40:00
1051 ? ? 2016-01-24 03:50:00
1051 ? ? 2016-01-24 04:00:00
1051 ? ? 2016-01-25 04:10:00
.. .. .. ..
我有複雜的數據集。所以,我想插入以獲得更乾淨的數據集。我也試試這個:
data.frame(datetime = seq(roomsdatetime$datetime[1], roomsdatetime$datetime[nrow(roomsdatetime)], by = "10 min")) %>%
mutate(roomsdatetime, approx = na.approx(roomsdatetime$old_value))
我得到這個錯誤:
Error: wrong result size(3562), expected 3565 or 1
有另一種方式?
不太清楚你問什麼。你是否想將數據轉換爲10分鐘的時間間隔?如果是這種情況請參閱這裏的示例http://stackoverflow.com/a/10423613/2824732 – Robert
小心線性插值! 「使用線性插值將數據轉換爲等距觀測值可能會導致大量難以量化的偏差」。參考文獻:M.Scholes和J.Williams,「Estimating betaas from nonsynchronous data」,Journal of Financial Economics 5:309-327,1977。 http://www.sciencedirect.com/science/article/pii/0304405X77900411 Your aim當然不會獲得等間隔的數據,但無論如何,您嘗試使用插值。 –
問題中也缺少插值的類型:線性,二次方,立方體等。 smooth.spline'在控制檯中通過'smooth.spline'分析3度插值。 –