带有近似或里奥哈软件包的线性插值

时间:2019-05-23 17:00:59

标签: r linear-interpolation

我正在处理花粉核心数据。这些核心具有年龄模型和几种花粉类群每个年龄的花粉计数百分比。 为了能够比较我的几个核心,我需要将这些数据插值到固定年龄,例如1000或6000等 但是rox()给我一个错误的结果。

print(x1000$y)
[1] 0.04282948

代替

print(x1000_manual$y)
[1] 0.093526

我将所拥有的所有数据都提供给rox(),因为很难为集合的每个核心定义列(固定年龄的左右)。

testxt #vector with 40 numbers; ages
testyt #vector with 40 numbers; pollen percantage
x1000 = approx(x=testxt, y=testyt, xout=1000, method = "linear")

  print(x1000$y)
  [1] 0.04282948

而about()给我正确的结果,而只有我固定年龄的左右数据

x=c(729.5455, 1188.636)
y=c(0.082361015785861, 0.101313320825516)
x1000_manual = approx(x, y, xout=1000)

  print(x1000_manual$y)
  [1] 0.093526

这与rioja的interp.dataset函数相同。 r软件包,用于分析第四纪科学数据。两种功能都给我所有数据带来错误的结果。 由于我需要针对具有不同年龄模型的许多核心执行此操作,因此无法预见固定年龄左右的单元格。

tl; dr

我想为我的收藏集的每个核心插值(线性)花粉数据,而不需要在插值函数中调用固定年龄的确切邻居

谢谢!

编辑:

> dput(head(data.frame(testxt, testyt)))
structure(list(X1 = c(0, 297.9508, 595.9016, 893.8525, 1191.803, 
1489.754), X3 = c(0.0429042904290429, 0.051063829787234, 0.0602284527518172, 
0.0405228758169935, 0.0469973890339426, 0.0823610157858614)), .Names = c("X1", 
"X3"), row.names = c("X..0", "X5", "X10", "X15", "X20", "X25"
), class = "data.frame")

年龄是递增的,花粉数据只是计数的百分比,并且由于气候变化而变化

我的数据: https://pastebin.com/Nafh4Mav

0 个答案:

没有答案