如何在ggplot2+ggh4x分面图中添加95%预测置信区间
为分面散点图添加95%预测置信区间
我使用ggh4x包的facet_grid2函数制作了x、y轴均为自由刻度的分面散点图,当前已添加线性拟合线,现需为每个分面添加95%预测置信区间。
原绘图代码:
ggplot(data_calibration, aes(Observed,Predicted))+ geom_point(color="black",alpha = 1/3) + facet_grid2(Station ~ Method, scales="free", independent = "all")+ xlab("Measured") + ylab("Predicted") + theme_bw()+ geom_smooth(method="lm") + theme(panel.grid.minor = element_blank())
相关数据结构:
data_calibration = structure(list(Observed = c(17229L, 15964L, 13373L, ...), Station = structure(c(1L,1L,...), .Label = c("Raigad","Ratnagiri","Thane "), class = "factor"), Method = structure(c(6L,6L,...), .Label = c("ANN","ELNET","LASSO","PCA-ANN","PCA-MLR","SMLR"), class = "factor"), Predicted = c(14463L,14285L,...)), class = "data.frame", row.names = c(NA,-270L))
修改方案
geom_smooth默认绘制的是置信区间(confidence interval),要切换为预测区间,只需在geom_smooth中添加interval = "prediction"参数,同时保留method="lm"指定线性模型。修改后的完整代码如下:
ggplot(data_calibration, aes(Observed, Predicted)) + geom_point(color = "black", alpha = 1/3) + facet_grid2(Station ~ Method, scales = "free", independent = "all") + xlab("Measured") + ylab("Predicted") + theme_bw() + geom_smooth(method = "lm", interval = "prediction") + # 添加预测区间参数 theme(panel.grid.minor = element_blank())
这样每个分面都会显示线性拟合线以及对应的95%预测置信区间。
内容的提问来源于stack exchange,提问作者UseR10085
相关产品推荐
相关产品推荐

