2013-02-27 46 views
11

我有一個缺少日期的氣候時間序列(不是缺失值)。例如:插入缺失日期的動物園對象

n = 15 
full.dates = seq(Sys.Date(), by = 'day', length = n) 
serie.dates = full.dates[c(1:10, 12, 15)] # missing 11, 13, 14 
y = rnorm(n) 

require(zoo)  
serie = zoo(y, serie.dates) 

如何'填充'(使用插值)這些缺少的點,給定'full.dates'向量? 謝謝!

回答

17

合併一個包含所有日期的「空」對象,然後使用na.approx(或na.spline等)填寫缺失的值。

x <- merge(serie, zoo(,seq(start(serie),end(serie),by="day")), all=TRUE) 
x <- na.approx(x) 
+0

謝謝,它的工作原理! – Fernando 2013-02-27 15:01:15

+1

也試一試na.locf:它在給定的NA之前取最近的值 – natbusa 2013-12-02 14:36:00