Интерполировать объект зоопарка с отсутствующими датами

У меня есть временной ряд климата с отсутствующими датами (не пропущенными значениями). Например:

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»? Спасибо!


person Fernando    schedule 27.02.2013    source источник


Ответы (1)


Объединитесь с «пустым» объектом, имеющим все нужные вам даты, затем используйте na.approx (или na.spline и т. д.), чтобы заполнить недостающие значения.

x <- merge(serie, zoo(,seq(start(serie),end(serie),by="day")), all=TRUE)
x <- na.approx(x)
person Joshua Ulrich    schedule 27.02.2013
comment
Попробуйте также na.locf : он принимает самое последнее значение перед данным NA - person natbusa; 02.12.2013