我正在处理花粉核心数据。这些核心具有年龄模型和几种花粉类群每个年龄的花粉计数百分比。 为了能够比较我的几个核心,我需要将这些数据插值到固定年龄,例如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")
年龄是递增的,花粉数据只是计数的百分比,并且由于气候变化而变化