2016-11-10 5 views
0

broomパッケージを使用して信頼区間を計算する方法は不思議です。私がやろうとしています何R - tidy augment confidence interval

は、シンプルで標準です:

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) 

enter image description here

私は面白いですよbroomggplot2を使ってこれを再現すると、これまでのところ私は達成していますEDこれは:

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)) 

enter image description here

augment funcitonはconf.intを計算しません。どのように私はいくつかのsmooth信頼性の反転を追加することができますか? broom出力を使用して

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

CIで回帰直線を追加するデータフレーム? –

+0

なぜなら、私はたくさんの異なる行を追加し、より複雑なものを作成する必要があるからです。だから、「ほうき」とプロットする簡単な方法があるのだろうかと思っていました。 'geom_smooth(method =" lm ")'は、変数が多く、どの行をプロットするかを制御したいときに複雑になりますか? – giacomo

答えて

6

、あなたはこのような何か行うことができます:あなたはgeom_ribbonに色の美学を適用することはできませんので、私はgeom_point()colour=yを移動

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() 

を。

enter image description here

0

だけ(元のデータセットのDATで)これを行う:あなたがあなたの元に `geom_smooth(方法= "LM")を`使用しないのはなぜ

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

enter image description here

+0

多変量回帰を実行していて、1つの変数のみを表示したい場合はどうすればよいですか? – giacomo

+0

@giacomoV私はあなたには分かりませんが、多変量回帰(右回帰ではなく)について話していると思います。ここでは、yについて複数の予測子、たとえばさらに別の予測子x1、s.tがあります。 y〜x + x1ですが、その場合、視覚化は線ではなく平面でなければなりません。回帰平面と密接な間隔のボリュームを平面上に表示するには3D視覚化が必要です。 –

+0

2Dで私たちは、応答と単一のプレディクタ変数との関係のみを表示し、他の変数を固定したままにすることに興味があると思います。 –