Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R.从插值中获取值_R_Interpolation - Fatal编程技术网

R.从插值中获取值

R.从插值中获取值,r,interpolation,R,Interpolation,我想一次从插值中获取许多值。 例如,从我的数据文件('int.txt')中,每个“conc1”对应于每个“depth1”(例如,1.1m、2.1m、3.1m、4.1m、5.1m、6.1m) 这里,在插值我的浓度数据之后,我想在1.2,2.2,3.2,4.2,5.2米的“深度”取“浓度” 根据下面的评论(我正在编辑我的问题),我编写了这样一个代码 f=approxfun(depth1,conc1,rule=1,method='linear',xout=seq(1.2,5.2,1.0)) iappr

我想一次从插值中获取许多值。 例如,从我的数据文件('int.txt')中,每个“conc1”对应于每个“depth1”(例如,1.1m、2.1m、3.1m、4.1m、5.1m、6.1m)

这里,在插值我的浓度数据之后,我想在1.2,2.2,3.2,4.2,5.2米的“深度”取“浓度” 根据下面的评论(我正在编辑我的问题),我编写了这样一个代码

f=approxfun(depth1,conc1,rule=1,method='linear',xout=seq(1.2,5.2,1.0))

iapproxfun()生成一个在给定的x和y向量之间插值的函数。可以对向量调用该函数,一次进行多次近似。您可以进行一些定制(例如简单的插值方法和在数据范围外执行的操作),但在指定需要更复杂的操作之前,这应该可以帮助您开始

?approxfun
f = approxfun(x=c(1.1, 2.1, 3.1, 4.1, 5.1),y=c(1, 3, 5, 2, 4),rule=1,method='constant')
plot(y=f(seq(1.1,5.1,.1)),x=seq(1.1,5.1,.1))
f = approxfun(x=c(1.1, 2.1, 3.1, 4.1, 5.1),y=c(1, 3, 5, 2, 4),rule=1,method='linear')
plot(y=f(seq(1.1,5.1,.1)),x=seq(1.1,5.1,.1))

插值使用哪种方法?polynoms,gam等…嗨,欢迎来到stackoverflow!如果你提供了一个答案,你就更有可能得到一个有用的答案。此外,请向我们展示您尝试的解决方案的代码、它们不起作用的原因以及预期的结果。谢谢谢谢你的评论。我用一些数据补充了我的问题。这里,我使用了线性插值。提前感谢您对我的新问题的评论/回答:)非常感谢!!这很有帮助。我添加了一些数据,并根据您的评论编写了代码。你能回答我上面的下一个问题吗?感谢:)对于对象创建,您可以生成向量(如y=f(seq(1.1,5.1,1)),并将它们rbind或cbind在一起,或者创建一个输入值矩阵,并将函数应用于矩阵,或者其他。approxfun()的好处是,您可以将它返回的函数应用于您喜欢的任何对象。如果我正确理解了上一个问题,您希望看到第一个深度~浓度贴图的插值结果与第二个深度~浓度贴图的数据是什么样的。只需在第二个映射的输入上从第一个映射调用approxfun()。谢谢您的评论。正如你提到的,我用cbind解决了第一部分。但是,我仍然无法解决最后一部分。在“conc”插值之后,我想提取对应于“depth2”的“conc”值。我尝试使用depth1代替depth来approxfun(),但它不起作用。你能告诉我怎么解决这个问题吗?我想我不完全理解你的问题。我想你们有两个数据集,每个数据集都有深度和集中度。您可以通过改变参数或顺序来找到这些数据集中的任何映射。如果要将组2的深度~浓度贴图的倒数应用于组1,请交换参数顺序并调用其他数据集上的结果函数。如果这还不够,你能写一个在你缺少的部分有间隙的最小工作示例吗?我认为我不需要再使用一个approxfun。基本上,我在插值之后插值了“conc1”。然后,我需要从“depth2”对应的插值“conc1”中提取值。插值后的“conc1”是无限数,但“depth2”有几行。因此,我需要找到深度2处的所有值,并从插值的“conc1”中提取相应的conc。