从 ggplot 置信区间中提取值

Extracting values from ggplot confidence interval

我能够使用 geom_smooth 和 R 中的方法 = "lm" 根据我的数据绘制一条线。但是,我想知道如何从我的 ggplot 中轻松提取值。我对用于创建置信区间的值特别感兴趣。可重现的代码如下。谢谢!

app <- structure(list(Year = 2019:2014, NP_total = c(892L, 867L, 765L, 
635L, 572L, 554L)), row.names = c(NA, -6L), class = c("data.table", 
"data.frame"))

ggplot() + geom_smooth(data = app, mapping = aes(x = Year, y = NP_total), color = "black", method = "lm")


由于您在 geom_smooth 中使用“lm”方法,因此您可以在 ggplot 之外使用相同的方法:

lm(NP_total~Year,app)

要提取置信区间,您可以使用相同的“lm”模型来预测您的 NP_total 值,使用与制作模型相同的年份值。这是一个one-liner.

smooth_values <- predict(lm(NP_total~Year,app), data = app$Year, se.fit = TRUE)

确保在预测函数中有 se.fit = TRUE 以输出您要查找的置信区间。我希望这就是您要找的。