使用固定大小的时间窗口进行样条插值

时间:2016-04-19 11:41:22

标签: r interpolation spline cubic-spline

我想进行样条插值,但不是一般方法。

我的数据分布不均,填补了空白。

data to interpolate on

我希望样条函数不要考虑插值的一定数量的观察值,而是考虑某个时间窗口,例如。 10年。

有没有人知道要使用什么功能,因为以下代码

name="baradla_l"
data=read.table(file=paste(name,".csv", sep=""), sep=";", header=T)

spline_fun=function(data_column, time_column, n){
x=time_column
y=data_column
splineil=spline(x,y,n)
return(splineil)
}

result=spline_fun(data[,2], data[,1], 100)
plot(result$x,result$y)
plot(result$x,result$y, type="l")
points(data[,1], data[,2],col="red")

似乎没有做到这一点,我不知道该干涉什么。

所需数据:

data <- structure(list(date = 1899:2012, d18O = c(NA, NA, NA, NA, NA, 
NA, NA, -7.41784, -7.04786, NA, -7.36332, NA, -8.29839, NA, -8.16167, 
NA, -7.71389, NA, -7.02616, -7.4196, -6.94689, NA, NA, -6.75823, 
-7.77452, NA, NA, -7.67965, -7.38529, NA, -6.83634, -7.69333, 
-7.12526, -8.05093, -7.54384, -7.96867, -7.25356, NA, -7.63551, 
-7.05296, -7.3081, -6.55707, -6.58208, -6.38919, -7.74052, -8.13889, 
NA, -7.34376, -7.09647, -7.18969, -7.27335, NA, -7.50431, NA, 
-7.67371, NA, NA, NA, NA, NA, -7.51227, NA, -7.68565, NA, -7.14066, 
NA, NA, -7.66135, NA, -7.41493, NA, NA, -7.16749, NA, NA, -7.52235, 
NA, NA, -7.57791, NA, NA, -6.83033, NA, -7.63777, NA, NA, -7.62713, 
-7.51122, NA, NA, -7.80703, NA, -7.41753, -8.21293, NA, NA, NA, 
NA, -7.96513, NA, -7.66993, NA, -7.45512, NA, -6.96408, NA, -7.15501, 
NA, -7.87707, -8.28378, NA, -7.75944, NA, NA)), .Names = c("date", 
"d18O"), class = "data.frame", row.names = c(NA, -114L))

0 个答案:

没有答案