ggplot2 - 将ymin和ymax绘制为stat_smooth中的线

时间:2017-05-04 08:26:53

标签: r plot ggplot2

我正在使用ggplot2函数绘制带stat_smooth的线性回归线。

正如预期的那样,该函数计算帮助页面上所写的预测值,置信区间和标准误差。

  • y:预测值
  • ymin:平均值
  • 附近的逐点置信区间
  • ymax:平均值
  • 附近的点上置信度区间
  • se:标准错误

绘制95%置信区间的默认方法类似于geom_ribbon的输出。

我想将yminymax绘制为线条,没有阴影灰色区域。

有没有办法在函数中直接执行?我是否必须直接访问这些值?

编辑:情节是一个点图,回归线的目标只是想象一个趋势。因此,我没有lm个对象。当然,我可以绘制回归对象的输出,但我想知道是否可以充分利用非常方便的stat_smooth并手动设置绘图参数

1 个答案:

答案 0 :(得分:1)

以下是在iris数据集上使用broomggplot2的示例:

fit <- lm(Petal.Length ~ Sepal.Length, iris)
newd <- augment(fit)

ggplot(newd, aes(x=Sepal.Length)) +
  geom_point(aes(y=Petal.Length)) +
  geom_line(aes(y=.fitted)) +
  geom_line(aes(y=.fitted + 1.96*.se.fit), colour="blue", linetype="dotted") + 
  geom_line(aes(y=.fitted - 1.96*.se.fit), colour="blue", linetype="dotted") 

enter image description here

以上相当于stat_smoothmethod="lm")函数:

ggplot(iris, aes(Sepal.Length, Petal.Length)) + 
     geom_point() + 
     stat_smooth(method="lm")

enter image description here