如何在 r 中创建带有回归线的散点图


通常,当我们执行简单的线性回归时,我们希望创建散点图来可视化 x 和 y 值的不同组合。

幸运的是,R 可以使用plot()函数轻松创建点云。例如:

 #create some fake data
data <- data.frame(x = c(1, 1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 11, 11),
                   y = c(13, 14, 17, 12, 23, 24, 25, 25, 24, 28, 32, 33, 35, 40, 41))

#create scatterplot of data
plot(data$x, data$y)

R 中的散点图

使用abline()函数向散点图添加回归线也很容易。

例如:

 #fit a simple linear regression model
model <- lm(y ~ x, data = data)

#add the fitted regression line to the scatterplot
abline(model) 

R 中带有回归线的散点图

我们还可以使用Predict()函数将置信区间线添加到图中:

 #define range of x values
newx = seq(min(data$x),max(data$x),by = 1)

#find 95% confidence interval for the range of x values 
conf_interval <- predict(model, newdata=data.frame(x=newx), interval="confidence",
                         level = 0.95)

#create scatterplot of values with regression line
plot(data$x, data$y)
abline(model)

#add dashed lines (lty=2) for the 95% confidence interval
lines(newx, conf_interval[,2], col="blue", lty=2)
lines(newx, conf_interval[,3], col="blue", lty=2)

R 中具有置信区间的回归线

或者我们可以通过在Predict()函数中指定间隔类型来将预测间隔线添加到图中:

 #define range of x values
newx = seq(min(data$x),max(data$x),by = 1)

#find 95% prediction interval for the range of x values 
pred_interval <- predict(model, newdata=data.frame(x=newx), interval="prediction" ,
                         level = 0.95)

#create scatterplot of values with regression line
plot(data$x, data$y)
abline(model)

#add dashed lines (lty=2) for the 95% confidence interval
lines(newx, pred_interval[,2], col="red", lty=2)
lines(newx, pred_interval[,3], col="red", lty=2)

R 中带有预测区间线的回归线

最后,我们可以通过添加标题、更改轴名称和更改各个绘图点的形状来使绘图更加美观。

 plot(data$x, data$y,
     main = "Scatterplot of x vs. y", #add title
     pch=16, #specify points to be filled in
     xlab='x', #change x-axis name
ylab='y') #change y-axis name

abline(model, col='steelblue') #specify color of regression line

R中散点图的回归线

其他资源

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

如何在 R 中的散点图上标记点
如何使用R中的Jitter函数处理点云

添加评论

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