ggplot geom_smooth lm中带宽的含义

nev*_*int 25 r ggplot2

使用以下代码:

library(ggplot2)
ggplot(mtcars, aes(x=wt, y=mpg)) +
    geom_point(aes(colour=factor(cyl))) +
    geom_smooth(method="lm")
Run Code Online (Sandbox Code Playgroud)

我可以得到这个情节:

在此输入图像描述

我的问题是灰色区域是如何定义的?这是什么意思.我怎样才能使用控制该频段宽度的各种参数?

Dom*_*ois 29

默认情况下,它是线性模型("lm")预测的95%置信水平区间.?geom_smooth各州的文件说:

此geom的默认统计信息是stat_smooth,请参阅该文档以获取更多控制基础统计转换的选项.

深入挖掘一层,doc ?stat_smooth告诉我们用于计算平滑区域的方法.

为了快速获得结果,可以使用stat_smooth的一个参数,即level:使用的置信区间级别(默认为0.95)

通过将该参数传递给geom_smooth,它将依次传递给stat_smooth,因此如果您希望拥有更窄的区域,则可以使用例如.90作为置信度:

ggplot(mtcars, aes(x=wt, y=mpg)) +
    geom_point(aes(colour=factor(cyl))) +
    geom_smooth(method="lm", level=0.90)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

  • 没有"理想"的水平,只有或多或少保守(谨慎)的水平.对于它告诉我们的内容,我建议调查`?predict`和`?predict.lm`.基本上它表示我们的预测将是"范围",如果我们反复重复实验(采样).一次抽样导致一条直线预测; 考虑到数据的可变性,区域表示一系列可能的直线,如果愿意的话.通过将水平设置为.9,我们说"如果我们反复重复采样,则90%的回归线将位于该灰色区域内". (10认同)
  • ti 可以显示 se 以外的东西吗?例如,数据的第 10 个和第 90 个分位数? (4认同)

sha*_*dow 8

这是置信区间.se=FALSE如果您不想显示它,可以使用.level = 0.99如果您想拥有99%CI而不是95%CI,也可以使用.查看?stat_smooth所有细节.