如何在 r 中绘制预测值(附示例)


通常,您可能希望在 R 中绘制回归模型的预测值,以便可视化预测值与实际值之间的差异。

本教程提供了在 R 和 ggplot2 中创建此类绘图的示例。

示例1:在基础R中绘制预测值和实际值

以下代码演示了如何在 R 中拟合多元线性回归模型,然后创建预测值和实际值的图:

 #create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

#plot predicted vs. actual values
plot(x=predict(model), y=df$y,
     xlab=' Predicted Values ',
     ylab=' Actual Values ',
     main=' Predicted vs. Actual Values ')

#add diagonal line for estimated regression line
abline(a= 0 , b= 1 )

在 R 中绘制预测值

X 轴显示模型的预测值,Y 轴显示数据集的实际值。图表中间的对角线是估计的回归线。

由于每个数据点都非常接近估计的回归线,这告诉我们回归模型在拟合数据方面做得相当好。

我们还可以创建一个数据框,显示每个数据点的实际值和预测值:

 #create data frame of actual and predicted values
values <- data. frame (actual=df$y, predicted=predict(model))

#view data frame
values

   actual predicted
1 22 22.54878
2 24 23.56707
3 24 23.96341
4 25 24.98171
5 25 25.37805
6 27 26.79268
7 29 28.60366
8 31 30.41463
9 32 33.86585
10 36 34.88415

示例2:在ggplot2中绘制预测值和实际值

以下代码展示了如何使用ggplot2数据可视化包创建预测值和实际值的图:

 library (ggplot2) 

#create data
df <- data. frame (x1=c(3, 4, 4, 5, 5, 6, 7, 8, 11, 12),
                 x2=c(6, 6, 7, 7, 8, 9, 11, 13, 14, 14),
                 y=c(22, 24, 24, 25, 25, 27, 29, 31, 32, 36))

#fit multiple linear regression model
model <- lm(y ~ x1 + x2, data=df)

#plot predicted vs. actual values
ggplot(df, aes (x=predict(model), y=y)) + 
  geom_point() +
  geom_abline(intercept= 0 , slope= 1 ) +
  labs(x=' Predicted Values ', y=' Actual Values ', title=' Predicted vs. Actual Values ')

同样,X 轴显示模型的预测值,Y 轴显示数据集的实际值。

其他资源

如何在 R 中创建残差图
如何在 R 中创建残差直方图
如何计算 R 中的标准化残差

添加评论

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