首页 > 解决方案 > 如何在ggplot中添加多元线性回归线?

问题描述

刚刚有一个关于在 ggplot 中添加多元线性回归线的快速问题。到目前为止,这是我的代码:

data(teengamb, package='faraway')
attach(teengamb)
lmod=lm(gamble~income+sex)
formula=4.041+5.172*income+-21.634*sex
formula_1=append(formula, 4.041, 0)
formula_1_df=data.frame(MLR=formula_1, Participant=c(0:47), sex=append(sex, 0, 0), income=append(income, 0, 0))
formula_1_df %>%
ggplot(aes(Participant, MLR))+geom_point(aes(color=sex))

我的多元线性回归线是 4.041 + 5.172*(收入)+ -21.634*(性别)。我如何将此行添加到我的 ggplot 中?

另外,由于sex是二进制变量,我可以将其添加为预测变量吗?

我附上了一张图表的样子。

从代码生成的图表

标签: rggplot2statistics

解决方案


我弄清楚我做错了什么。 formula_1并且formula是正确的并分别产生以下图表。

在此处输入图像描述

然后添加行:

在此处输入图像描述

出于某种原因,我认为公式线是线性的,但它实际上是一种令人震惊的线。

因此,通过添加geom_line(data=data.frame(MLR, Participant), col="purple"),我得到了正确的答案,即Shock-y 图。

data(teengamb, package='faraway')
attach(teengamb)
lmod=lm(gamble~income+sex)
formula=4.041+5.172*income+-21.634*sex
formula_1=append(formula, 4.041, 0)
formula_1_df=data.frame(MLR=formula_1, Participant=c(0:47), sex=append(sex, 0, 0), income=append(income, 0, 0))
formula_1_df %>%
ggplot(aes(Participant, MLR))+geom_point(aes(color=sex))+geom_line(data=data.frame(MLR, Participant), col="purple")

给我:

在此处输入图像描述

我认为这是正确的答案。


推荐阅读