Workaround would be to make model outside the ggplot()
. Then make predicition for this model and add result to the original data frame. This will add columns fit
, lwr
and upr
.
mod<-lm(mpg~factor(cyl)+hp,data=mtcars)
mtcars<-cbind(mtcars,predict(mod,interval="confidence"))
Now you can use geom_line()
with fit
values as y
to add three regression lines and geom_ribbon()
with lwr
and upr
to add confidence interval.
ggplot(mtcars, aes(hp, mpg, group = cyl)) + geom_point() +
geom_line(aes(y=fit))+geom_ribbon(aes(ymin=lwr,ymax=upr),alpha=0.4)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…