2013-02-27 11 views
11

Mam serię danych klimatycznych z brakującymi datami (nie brakujące wartości). Na przykład:Interpoluj obiekt zoo z brakującymi datami

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) 

Jak mogę „wypełnić” (za pomocą interpolacji) te brakujące punkty, biorąc pod uwagę wektor „full.dates”? Dzięki!

Odpowiedz

17

Scal z "pustym" obiektem, który ma wszystkie żądane daty, a następnie użyj na.approx (lub na.spline itd.), Aby uzupełnić brakujące wartości.

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

Dzięki, to działa! – Fernando

+1

Spróbuj także na.locf: pobiera najnowszą wartość przed danym NA – natbusa

Powiązane problemy