如何检测黄土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内置图层的相关数据和其他杂项信息。
在这种情况下,置信区间的限制在 ymin
和 ymax
列中,可以通过以下方式达到:
foo <- ggplot_build(plot)
foo[["data"]][[2]]
然后您可以做一个简单的变异来检查 ymax
和 ymin
之间的差异,以及 "Speed" 和 CI 差距达到 20 到 x
列。
mutate_info <- foo[["data"]][[2]] %>% dplyr::mutate(ci_gap = ymax-ymin)
我已经用 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内置图层的相关数据和其他杂项信息。
在这种情况下,置信区间的限制在 ymin
和 ymax
列中,可以通过以下方式达到:
foo <- ggplot_build(plot)
foo[["data"]][[2]]
然后您可以做一个简单的变异来检查 ymax
和 ymin
之间的差异,以及 "Speed" 和 CI 差距达到 20 到 x
列。
mutate_info <- foo[["data"]][[2]] %>% dplyr::mutate(ci_gap = ymax-ymin)