使用R进行样条插值

Gil*_*syn 7 interpolation r spline

我想对人口数据执行(立方)样条插值,以将年度数据"转换"为季度数据.我知道有相当多的缺陷,但我需要这样做.

这是我的代码示例(使用通用输入数据):

#--------------spline interpolation

x = c(1973:2014)
population = seq(500000, 600000, length.out = 42)
list = spline(x, population, n = 4*length(x), method = "fmm",
       xmin = min(x), xmax = max(x), ties = mean)

x_spline = list$x
pop_spline = list$y
Run Code Online (Sandbox Code Playgroud)

如何定义样条曲线是"每季度"计算的,换句话说是1973.25,1973.5,1973.75,1974等?很抱歉不是统计专家:将年度数据"转换"成季度数据的最佳方法是什么:"fmm","natural","periodic","monoH.FC"或"hyman"?假设人口增长在一年中均匀分布.

致以最诚挚的问候和许多感谢!

Col*_*vel 10

为什么不使用splinefun:

func = splinefun(x=x, y=population, method="fmm",  ties = mean)
Run Code Online (Sandbox Code Playgroud)

然后定义要预测的点:

func(seq(1973, 2014, 0.25))
Run Code Online (Sandbox Code Playgroud)