如何在 R 中使用 ggplot2 创建多重回归线?\n


若要使用 ggplot2 创建多重回归线,我们可以在 aes 中使用分组。

例如,如果我们有一个名为 df 的数据框,其中包含两个数值列 x 和 y 以及一个分类列 C,那么可以通过使用以下命令创建 C 中所有类别之间 x 和 y 之间的回归线 −

ggplot(df,aes(x,y,group=C))+geom_point()+stat_smooth(method="lm")

示例

以下代码片段创建一个样本数据框 −

data(mtcars)
head(mtcars,20)

输出

创建以下数据框 −

                   mpg  cyl disp   hp drat  wt    qsec   vs am gear carb
Mazda RX4          21.0  6  160.0 110 3.90  2.620 16.46  0  1   4   4
Mazda RX4 Wag      21.0  6  160.0 110 3.90  2.875 17.02  0  1   4   4
Datsun 710         22.8  4  108.0  93 3.85  2.320 18.61  1  1   4   1
Hornet 4 Drive     21.4  6  258.0 110 3.08  3.215 19.44  1  0   3   1
Hornet Sportabout  18.7  8  360.0 175 3.15  3.440 17.02  0  0   3   2
Valiant            18.1  6  225.0 105 2.76  3.460 20.22  1  0   3   1
Duster 360         14.3  8  360.0 245 3.21  3.570 15.84  0  0   3   4
Merc 240D          24.4  4  146.7  62 3.69  3.190 20.00  1  0   4   2
Merc 230           22.8  4  140.8  95 3.92  3.150 22.90  1  0   4   2
Merc 280           19.2  6  167.6 123 3.92  3.440 18.30  1  0   4   4
Merc 280C          17.8  6  167.6 123 3.92  3.440 18.90  1  0   4   4
Merc 450SE         16.4  8  275.8 180 3.07  4.070 17.40  0  0   3   3
Merc 450SL         17.3  8  275.8 180 3.07  3.730 17.60  0  0   3   3
Merc 450SLC        15.2  8  275.8 180 3.07  3.780 18.00  0  0   3   3
Cadillac Fleetwood 10.4  8  472.0 205 2.93  5.250 17.98  0  0   3   4
Lincoln Continental 10.4 8  460.0 215 3.00  5.424 17.82  0  0   3   4
Chrysler Imperial  14.7  8  440.0 230 3.23  5.345 17.42  0  0   3   4
Fiat 128           32.4  4   78.7  66 4.08  2.200 19.47  1  1   4   1
Honda Civic        30.4  4   75.7  52 4.93  1.615 18.52  1  1   4   2
Toyota Corolla     33.9  4   71.1  65 4.22  1.835 19.90  1  1   4   1

若要加载 ggplot2 软件包并在基于 cyl 中的类别创建 hp 和 mpg 之间的多重回归线,请将以下代码添加到以上代码片段中 −

library(ggplot2)
ggplot(mtcars,aes(hp,mpg,group=cyl))+geom_point()+stat_smooth(method="lm")
`geom_smooth()` using formula 'y ~ x'

输出

如果你将以上所有代码片段作为一个单一程序执行,它将生成以下输出 −

更新于: 2021 年 11 月 3 日

858 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告