插值但固定 R 中的范围

  • 本文关键字:范围 插值 r
  • 更新时间 :
  • 英文 :


我在插值时在开头和结尾得到一些极值。

实际上,最后的 b 值不应大于 max(b(,第一个值不应小于 0

数据示例:

a<-c(1, 3, 4, 6, 8.7, 9, 10, 12, 19.3, 20)
b<-c(10, 30, 40, 60, 87, 90, 100, 120, 190, 200)
df<-data.frame(a=a, b=b)
> df
a   b
1   1.0  10
2   3.0  30
3   4.0  40
4   6.0  60
5   8.7  87
6   9.0  90
7  10.0 100
8  12.0 120
9  19.3 190
10 20.0 200

这是我现在使用的代码:

Hmisc::approxExtrap(df$a, df$b, xout = c(0:25))

pminpmax包裹它:

pmin(max(df$b), pmax(min(df$b), approxExtrap(df$a, df$b, xout = c(0:25))))

这将保持b的上限和下限。如果要将b的下限(当前为 1(替换为0,请将min(df$b)替换为0

最新更新