通过插值将带有分数的数字数据帧转换为r中的整数



我收集的数据看起来像这样:

wl       Spec.94 
299.784  57.95  
300.151  57.18
300.517  88.18
300.884  18.71
301.252  100.90
301.617  127.06
301.983  75.02
302.349  54.20
302.715  50.93
303.082  50.43

然而,我用来分析数据的程序只能处理wl的整数。我继承了一个excel表,它对这些数据进行插值并生成以下数据:

wl   Spec
300  41.03
301  61.77
302  51.84

我真的不知道这个电子表格是如何工作的,但它自动填充的列标题是"目标Wl"、"最近的较小索引"、"最接近的较小W1"、"上限Wl","偏移"、"低端值"、"高端值"one_answers"插值"。

我需要能够在我的r代码中复制这个过程,使分析具有可复制性,但我不知道从哪里开始。如何对r中的数据进行插值,以获得wl中整数值处Spec.95的值?

您可以对roundrange进行seq影响,并用它馈送approx

wl <- do.call(seq, as.list(round(range(dat$wl))))
cbind(wl, Spec.94=approx(dat$wl, dat$Spec, wl)$y)
#      wl      Spec
# [1,] 300 57.49681
# [2,] 301 44.61772
# [3,] 302 74.05295
# [4,] 303 50.54172

然而,这些值有些不同,我不确定您的特定excel代码是如何插值41.03值的,该值应该在57.9557.18之间。也许你能弄明白?

最新更新