如何在 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 中执行其他常见操作: