R - 整洁的增强置信区间
R - tidy augment confidence interval
我想知道如何使用 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)
我对使用 broom
和 ggplot2
重现这个很感兴趣,到目前为止我只实现了这个:
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")
使用 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
。
只需这样做(使用您的原始数据集 dat):
ggplot(data = dat, aes(x, y, colour = y)) +
geom_point(size=2) + geom_smooth(method='lm', se = TRUE) + theme_bw()
我想知道如何使用 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)
我对使用 broom
和 ggplot2
重现这个很感兴趣,到目前为止我只实现了这个:
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")
使用 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
。
只需这样做(使用您的原始数据集 dat):
ggplot(data = dat, aes(x, y, colour = y)) +
geom_point(size=2) + geom_smooth(method='lm', se = TRUE) + theme_bw()