如何在 r 中绘制最佳拟合线(附示例)


您可以使用以下任一方法在 R 中绘制最佳拟合线:

方法一:在R底座上画出最佳拟合线

 #create scatter plot of x vs. y
plot(x, y)

#add line of best fit to scatter plot
abline(lm(y ~ x))

方法2:在ggplot2中绘制最佳拟合线

 library (ggplot2)

#create scatter plot with line of best fit
ggplot(df, aes (x=x, y=y)) +
    geom_point() +
    geom_smooth(method=lm, se= FALSE )

以下示例展示了如何在实践中使用每种方法。

示例 1:在 R 底座中绘制最佳拟合线

以下代码展示了如何使用 R 基为简单线性回归模型绘制一条最佳拟合线:

 #define data
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 6, 7, 9, 12, 16, 19)

#create scatter plot of x vs. y
plot(x, y)

#add line of best fit to scatter plot
abline(lm(y ~ x)) 

不要犹豫,也修改点和线的样式:

 #define data
x <- c(1, 2, 3, 4, 5, 6, 7, 8)
y <- c(2, 5, 6, 7, 9, 12, 16, 19)

#create scatter plot of x vs. y
plot(x, y, pch= 16 , col=' red ', cex= 1.2 )

#add line of best fit to scatter plot
abline(lm(y ~ x), col=' blue ', lty=' dashed ') 

我们还可以使用下面的代码来快速计算最佳拟合线:

 #find regression model coefficients
summary(lm(y ~ x))$coefficients

              Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.8928571 1.0047365 -0.888648 4.084029e-01
x 2.3095238 0.1989675 11.607544 2.461303e-05

最佳拟合线为: y = -0.89 + 2.31x

示例 2:在 ggplot2 中绘制最佳拟合线

以下代码展示了如何使用ggplot2数据可视化包为简单线性回归模型绘制最佳拟合线:

 library (ggplot2)

#define data
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8),
y=c(2, 5, 6, 7, 9, 12, 16, 19))

#create scatter plot with line of best fit
ggplot(df, aes (x=x, y=y)) +
    geom_point() +
    geom_smooth(method=lm, se= FALSE )

也可以随意改变情节的美感:

 library (ggplot2)

#define data
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8),
y=c(2, 5, 6, 7, 9, 12, 16, 19))

#create scatter plot with line of best fit
ggplot(df, aes (x=x, y=y)) +
    geom_point(col=' red ', size= 2 ) +
    geom_smooth(method=lm, se= FALSE , col=' purple ', linetype=' dashed ') +
    theme_bw() 

其他资源

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

如何在 R 中执行简单线性回归
如何在 R 中执行多元线性回归
如何解释 R 中的回归输出

添加评论

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