r - 多元线性回归 : Plot a straight line with confidence intervals

标签 r ggplot2 linear-regression confidence-interval

这是我的问题:

1) 我进行了多元线性回归:假设如下:

lm(attitude~quality+price+location+Income)

我主要关心的是态度和素质的关系,其他变量都是控制变量。

2) 然后我想做一个态度和质量之间的散点图。这很容易:
Q <-ggplot(data=data, aes(x=quality, y=attitude)) 
Q + geom_point(size = 1)

3) 我还想绘制 x 和 y 之间的拟合线,斜率应该是多元线性回归的偏回归系数。即应该是下面公式中的b1:attitude=b1*quality+b2*price+b3*location+b4*Income,而不是下面公式中的b:attitude=b*quality。因此,以下代码无法正常工作,因为它将绘制 b 而不是 b1 的斜率。
g <- g + geom_smooth(method = lm)

有人问了一个非常相似的问题,see here

提供的答案如下所示(替换为我的变量):
g <- g + geom_smooth(data=data, aes(x=quality, y=attitude, ymin=lcl, ymax=ucl))

但是,这是一个 LOWESS 图(正如您在帖子中看到的图),而不是线性直线图。

我的问题:如何在置信区间带上添加斜率 b1 的直线?

最佳答案

如果你想看到b1,你应该画偏回归图 , 我所知。

在这种情况下,

  • 回归 attitude在每个变量 除了 quality
  • 回归 quality关于其他预测变量
  • 绘制这些拟合的残差:
    X <-
      data_frame(
        x = lm(quality ~.-attitude, data = data)$resid,
        y = lm(attitude ~ .-quality, data = data)$resid
      )
    X %>%
      ggplot(aes(x, y)) +
      geom_smooth(method = "lm")
    

  • 这条线可能与 b1 相同,但不是 x,y 点。

    关于r - 多元线性回归 : Plot a straight line with confidence intervals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51147938/

    相关文章:

    r - ggplot2:在 ROC 图上使用 scale_x_reverse

    r - 在Word文档中使用DiagrammeR(使用rMarkdown生成)

    r - ggplot2:如何以倒数比例绘制

    R ggplot2 facetting - 错误 : No Layers in Plot

    R ggplot geom_errorbar 不显示 mustache

    python - 对于小数据集中的非常大的值,梯度下降不会收敛

    r - 将小数年份和一年中的某一天转换为 R 中的日期

    r - 带有 names_pattern 和成对列的 pivot_longer

    r - 如何在 R 中循环/重复线性回归

    python - 从训练集或测试集计算残差值