如何在 r 中执行线性插值(附示例)


线性插值是估计两个已知值之间函数的未知值的过程。

给定两个已知值(x 1 , y 1 )和(x 2 , y 2 ),我们可以使用以下公式估计点x的y值:

y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )

以下示例展示了如何在 R 中执行线性插值。

示例:R 中的线性插值

假设我们有以下数据框,R中的x和y值:

 #define data frame
df <- data. frame (x=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 y=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

    xy
1 2 4
2 4 7
3 6 11
4 8 16
5 10 22
6 12 29
7 14 38
8 16 49
9 18 63
10 20 80

我们可以使用以下代码创建散点图来可视化数据框中的 (x,y) 值:

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

现在假设我们想要找到与新的 x 值13关联的 y 值。

我们可以使用 R 中的approx()函数来做到这一点:

 #fit linear regression model using data frame
model <- lm(y ~ x, data = df)

#interpolate y value based on x value of 13
y_new = approx(df$x, df$y, xout= 13 )

#view interpolated y value
y_new

$x
[1] 13

$y
[1] 33.5

估计的 y 值结果为33.5

如果我们将点 (13, 33.5) 添加到图中,它似乎与函数非常匹配:

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

#add the predicted point to the scatterplot
points(13, y_new$y, col=' red ', pch= 19 )

R中的线性插值

我们可以使用这个精确的公式对任何新的 x 值执行线性插值。

其他资源

以下教程解释了如何在 R 中执行其他常见任务:

如何在 R 中求解方程组
如何使用多元回归模型预测 R 中的值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注