我有一组x,y,z数据,我想做一个双三次插值。x 和 y 是空间坐标,z 是温度。
下面有两张图。第一个是我的数据集的(gnuplot)图,第二个是插值版本(set pm3d interpolate 10,10)。
现在我想在 R 中进行这种插值,但我想要一个值矩阵作为结果而不是绘图。该climates软件包似乎在 R 中提供了此功能,但在 R 2.13 中不再适用。
是否有另一种方法/包可以按照我想要的方式在 R 中进行插值?

我有一组x,y,z数据,我想做一个双三次插值。x 和 y 是空间坐标,z 是温度。
下面有两张图。第一个是我的数据集的(gnuplot)图,第二个是插值版本(set pm3d interpolate 10,10)。
现在我想在 R 中进行这种插值,但我想要一个值矩阵作为结果而不是绘图。该climates软件包似乎在 R 中提供了此功能,但在 R 2.13 中不再适用。
是否有另一种方法/包可以按照我想要的方式在 R 中进行插值?

查看akima包裹的interp.
这些函数在网格上为不规则间隔的输入数据实现二元插值。使用来自 Akima 的不同版本的算法应用双线性或双三次样条插值。
用法
interp(x, y, z, xo=seq(min(x), max(x), length = 40), yo=seq(min(y), max(y), length = 40), linear = TRUE, extrap=FALSE,重复=“错误”,dupfun = NULL,ncp = NULL)
我认为如果您的数据也有规律地间隔,它将起作用。
您可以image.smooth在fields包装中使用。
要导出您插值的数据,您可以使用以下方式:
model <- interp(x, y, z, xo=seq(min(x), max(x), length = 40), yo=seq(min(y),
max(y), length = 40), linear = TRUE, extrap=FALSE, duplicate = "error",
dupfun = NULL, ncp = NULL)
interpData <- model$z
加载以下库
library(rJava)
library(xlsxjars)
library(xlsx)
在您的硬盘中使用标题 multivariateInterp 在 Excel 中导出您的插值数据
write.xlsx (interpData, "c:/multivariateInterp.xlsx")