如何在R中使用ggplot2创建的图表中显示回归斜率?


要使用模型在 ggplot2 创建的图表中显示回归斜率,我们可以按照以下步骤操作:

  • 首先,创建数据框。
  • 使用 ggplot2 的 annotate 函数创建散点图,并在图上显示回归斜率。
  • 检查回归斜率。

创建数据框

让我们创建一个如下所示的数据框:

 实时演示

x<-rnorm(25)
y<-rnorm(25)
df<-data.frame(x,y)
df

执行上述脚本后,将生成以下输出(由于随机化,此输出在您的系统上会有所不同):

      x          y
1 -0.3344355 -1.107060779
2 0.9164450 -2.499279489
3 -1.2110213 -1.232242802
4 -0.2469611 -0.002048849
5 0.8153152 0.096430178
6 1.5256898 0.366641036
7 0.2477990 -0.887210596
8 -0.5315179 1.594046357
9 -0.3118217 -0.059540798
10 -2.3218482 -0.578005944
11 -0.2519221 -1.470768208
12 0.8210061 -0.252782378
13 0.3679411 0.907479636
14 -1.1653608 -1.645537248
15 -2.7027016 -0.543878325
16 -0.2973516 0.217316266
17 0.1234872 0.749658413
18 1.1059414 0.204091591
19 0.6868014 0.976441196
20 -1.2037182 0.560449928
21 0.1567828 -0.799122836
22 0.5292457 -2.364608009
23 -0.9377216 0.347594404
24 0.5401030 -1.615585141
25 -0.5440631 0.637820747

创建带回归斜率的散点图

创建散点图,其中包含回归线以及在图上显示的模型斜率:

 实时演示

x<-rnorm(25)
y<-rnorm(25)
df<-data.frame(x,y)
library(ggplot2)
ggplot(df,aes(x,y))+geom_point()+stat_smooth(method="lm",se=F)+annotate("text",x=-
2,y=1,label=(paste0("slope==",coef(lm(df$y~df$x))[2])),parse=TRUE)
`geom_smooth()` using formula 'y ~ x'

输出

检查模型的斜率

使用 coeff 函数查找模型的斜率,并检查它是否与图上显示的斜率匹配:

x<-rnorm(25)
y<-rnorm(25)
df<-data.frame(x,y)
coef(lm(df$y~df$x))[2]

输出

df$x
0.01180069

更新于: 2021年8月13日

6K+ 次查看

启动你的职业生涯

通过完成课程获得认证

开始学习
广告