интерполировать на новый вектор времени

Есть ли метод интерполяции временного ряда на новый. Например:

data(co2)

Mauna <- as.numeric(window(co2, start = c(1991,1), end=c(1991,12)))
time = seq(from=as.Date("1991-01-01"), to=as.Date("1991-12-01"), length=12)

newTime = seq(from=as.POSIXct("1991-01-01 00:00"), to=as.POSIXct("1991-12-31 23:00"), length=8760)

Исходя из этого, я хотел бы интерполировать данные Мауны на новый вектор времени, увеличив таким образом количество измерений в Мауне до 8760. Можно ли этого добиться?


person user1407388    schedule 30.05.2012    source источник


Ответы (1)


Попробуйте approx() для линейной интерполяции:

MaunaLinear <- approx(Mauna,n=8760)$y
plot(newTime,MaunaLinear)

Попробуйте функцию spline() для сглаженной интерполяции:

MaunaSmooth <- spline(Mauna,n=8760)$y
plot(newTime,MaunaSmooth)
person Dirk    schedule 30.05.2012