【问题标题】:How to add a multiple linear regression line in ggplot?如何在ggplot中添加多元线性回归线?
【发布时间】:2021-01-14 13:49:41
【问题描述】:

刚刚有一个关于在 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 是一个二进制变量,我可以将其添加为预测变量吗?

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

【问题讨论】:

  • 这是您要找的吗? formula_1_df %>% ggplot(aes(Participant, MLR))+geom_point(aes(color=factor(sex)))+ geom_line(aes(y=MLR,color=factor(sex)))
  • 不完全,但这很好!我只需要将 4.041 + 5.172*(income) + -21.634*(sex) 添加到该行。所以不是shock-y图,而是线性图。
  • 添加geom_smooth(method = "lm", se = FALSE)
  • @Phil 我真的不能这样做,因为我有超过 1 个预测变量 :(

标签: r ggplot2 statistics


【解决方案1】:

我发现我做错了什么。 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")

给我:

我认为哪个是正确答案。

【讨论】:

    猜你喜欢
    • 2021-03-25
    • 2018-05-28
    • 2014-11-03
    • 2013-03-16
    • 2019-10-20
    • 2018-08-28
    • 1970-01-01
    • 2010-11-23
    相关资源
    最近更新 更多