R:如何在多个维度中使用近似值(多维插值)?
这应该不难,但我搜索了很多,到目前为止还没有找到解决方案 我正在处理一些零散的数据R:如何在多个维度中使用近似值(多维插值)?,r,R,这应该不难,但我搜索了很多,到目前为止还没有找到解决方案 我正在处理一些零散的数据 y = f(x1,x2,x3,..., xn) 我想创建一个查找函数,当输入数据集中的向量x时,该函数为我提供y的确切已知值,但当向量x不在数据集中时,它会线性插值 基本上类似于approx(),但用于更高数量的维度 为了简化任何试用,以下是一些数据: y<-rnorm(27) x1<-seq(1,3,1) x2<-seq(10,30,10) x3<-seq(100,300,100)
y = f(x1,x2,x3,..., xn)
我想创建一个查找函数,当输入数据集中的向量x
时,该函数为我提供y
的确切已知值,但当向量x
不在数据集中时,它会线性插值
基本上类似于approx()
,但用于更高数量的维度
为了简化任何试用,以下是一些数据:
y<-rnorm(27)
x1<-seq(1,3,1)
x2<-seq(10,30,10)
x3<-seq(100,300,100)
df<-expand.grid(x1,x2,x3)
df<-cbind(y,df)
names(df)<-c("y","x1","x2","x3")
# Task is to create a function like
# fun(x1,x2,x3) --> interpolated y
# expected output example:
# fun(1,10,100) --> -0.89691454
# fun(1.5,10,100) --> -0.3560327
y“y”不应该是长度(y)=nrow(展开网格(x1,x2,x3))
?也许,您还可以为fun
添加一个示例输出?例如,fun(1,20,100)-->?
,fun(1.2,15.45,102)-->?
谢谢你的评论,我添加了一个例子。