0

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) 

ここに画像の説明を入力

broomandを使用してこれを再現することに興味があります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.intsmooth信頼区間を追加する方法の手がかりはありますか?

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

2 に答える 2

7

出力を使用すると、次の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

ここに画像の説明を入力

于 2016-11-10T17:13:41.730 に答える