【问题标题】:plot linear regressions lines without interaction in ggplot2在ggplot2中绘制没有交互的线性回归线
【发布时间】:2014-07-06 12:53:43
【问题描述】:

此代码绘制回归线与 ggplot2 中的交互:

library(ggplot2)
ggplot(mtcars, aes(hp, mpg, group = cyl)) + geom_point() + stat_smooth(method = "lm")

可以用stat_smooth 绘制没有交互的线条吗?

【问题讨论】:

  • 三个回归线的斜率应该相同
  • 所以把, group = cyl带出去?
  • 三条回归线(每组圆柱一条),每条线的斜率相同但截距不同

标签: r ggplot2 regression


【解决方案1】:

解决方法是在ggplot() 之外制作模型。然后对该模型进行预测并将结果添加到原始数据框中。这将添加列fitlwrupr

mod<-lm(mpg~factor(cyl)+hp,data=mtcars)
mtcars<-cbind(mtcars,predict(mod,interval="confidence"))

现在您可以使用geom_line()fit 值作为y 添加三个回归线,并使用geom_ribbon()lwrupr 添加置信区间。

ggplot(mtcars, aes(hp, mpg, group = cyl)) + geom_point() +
      geom_line(aes(y=fit))+geom_ribbon(aes(ymin=lwr,ymax=upr),alpha=0.4)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多