【问题标题】:R - tidy augment confidence intervalR - 整齐的增广置信区间
【发布时间】:2016-11-10 17:02:34
【问题描述】:

我想知道如何使用 broom 包计算置信区间。

我想做的是简单而标准的:

set.seed(1)
x <- runif(50)
y <- 2.5 + (3 * x) + rnorm(50, mean = 2.5, sd = 2)
dat <- data.frame(x = x, y = y)
mod <- lm(y ~ x, data = dat)

使用visreg,我可以非常简单地使用CI绘制回归模型:

library(visreg)
visreg(mod, 'x',  overlay=TRUE) 

我对使用broomggplot2 重现这个很感兴趣,到目前为止我只实现了这个:

 library(broom) 

 dt = lm(y ~ x, data = dat) %>% augment(conf.int = TRUE)  
 ggplot(data = dt, aes(x, y, colour = y)) + 
  geom_point() + geom_line(data = dt, aes(x, .fitted, colour = .fitted)) 

augment 函数不计算 conf.int。有什么线索可以添加一些smooth 置信度反转吗?

 geom_smooth(data=dt, aes(x, y, ymin=lcl, ymax=ucl), size = 1.5, 
        colour = "red", se = TRUE, stat = "smooth")

【问题讨论】:

  • 为什么不使用 geom_smooth(method="lm") 和原始数据框来添加带有 CI 的回归线?
  • 原因是我需要添加许多不同的行并做更复杂的事情,所以我想知道是否有一种简单的方法可以使用broom 进行绘图。 geom_smooth(method="lm") 当您有很多变量并且想要控制绘制哪条线时,它是否复杂?

标签: r ggplot2 broom


【解决方案1】:

使用broom 输出,您可以执行以下操作:

ggplot(data = dt, aes(x, y)) + 
  geom_ribbon(aes(ymin=.fitted-1.96*.se.fit, ymax=.fitted+1.96*.se.fit), alpha=0.2) +
  geom_point(aes(colour = y)) + 
  geom_line(aes(x, .fitted, colour = .fitted)) +
  theme_bw()

我将 colour=y 移至 geom_point(),因为您无法将颜色美学应用到 geom_ribbon

【讨论】:

    【解决方案2】:

    只需执行此操作(使用您的原始数据集 dat):

    ggplot(data = dat, aes(x, y, colour = y)) + 
      geom_point(size=2) + geom_smooth(method='lm', se = TRUE) + theme_bw()
    

    【讨论】:

    • 如果您正在运行多元回归并且只想显示一个变量怎么办?
    • @giacomoV 不确定我明白了,我猜你在谈论多元回归(不是多元回归正确),其中你有多个 y 预测变量,例如,还有另一个预测变量 x1,s.t. y~x+ x1,但在这种情况下,可视化应该是平面而不是线,您需要 3D 可视化来显示回归平面和平面周围的置信区间体积,对吧?
    • 在 2D 中,我想我们只对显示响应和单个预测变量之间的关系感兴趣,保持其他变量不变。
    • 所以我尝试在 y = x1 + x2 + x3 等 ols 模型中绘制 y=x1 之间的关系,其中 x2+x3 是控制变量(所以这是一个多元模型)。但是,我发现在 R 中执行此操作非常麻烦。我刚刚问了另一个关于它的问题 http://stats.stackexchange.com/questions/245294/r-plot-lm-issues-with-multivariate-ols。谢谢你的建议。
    猜你喜欢
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    • 2021-02-05
    • 2012-03-07
    • 2018-01-16
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多