如何检测黄土95%CI的宽度达到一定量的地方?

How to detect where the width of loess 95% CI reach a certain amount?

我已经用 95% CI 拟合了一条黄土曲线,现在我希望能够确定 CI 到达特定宽度的位置。

例如,使用 "cars" 数据集:

plot <- ggplot (cars, aes (x=speed, y=dist)) +
geom_point() +
stat_smooth (method= "loess", se=TRUE) +
xlab("Speed")+
ylab("Distance")+
theme_bw()
plot

我希望能够找出 "Speed" 的 CI 值等于 20 个距离单位。看剧情大概是7和24吧

谢谢!

您可以使用ggplot_build(plot)提取有关ggplot2内置图层的相关数据和其他杂项信息。

在这种情况下,置信区间的限制在 yminymax 列中,可以通过以下方式达到:

foo <- ggplot_build(plot)
foo[["data"]][[2]]

然后您可以做一个简单的变异来检查 ymaxymin 之间的差异,以及 "Speed" 和 CI 差距达到 20 到 x列。

mutate_info <- foo[["data"]][[2]] %>% dplyr::mutate(ci_gap = ymax-ymin)