You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Base R散点图中绘制回归标准误差的阴影区域?

在Base R散点图中添加回归标准误差阴影带(以iris数据集为例)

你已经掌握了用ggplot绘制带标准误差阴影的回归线,以及在Base R中添加回归线的方法,要在Base R中实现类似ggplot的阴影误差带,可通过以下步骤完成:

1. 绘制基础散点图并拟合回归模型

# 绘制散点图
plot(iris$Sepal.Width, iris$Sepal.Length, 
     main = "Sepal Length vs Width with Regression & SE Band",
     xlab = "Sepal Width", ylab = "Sepal Length")

# 拟合线性回归模型
fit <- lm(Sepal.Length ~ Sepal.Width, data = iris)

2. 生成连续x序列并计算置信区间

为了让阴影带更平滑,先生成覆盖原始x范围的连续序列,再用模型预测拟合值及95%置信区间(与ggplot默认的se=T逻辑一致):

# 生成连续的x值序列
x_seq <- seq(min(iris$Sepal.Width), max(iris$Sepal.Width), length.out = 100)

# 预测拟合值及95%置信区间
pred <- predict(fit, newdata = data.frame(Sepal.Width = x_seq), interval = "confidence")

3. 绘制阴影误差带和回归线

用polygon()函数绘制上下置信区间之间的半透明阴影,再叠加回归线:

# 绘制阴影误差带(半透明灰色)
polygon(c(x_seq, rev(x_seq)), c(pred[, "lwr"], rev(pred[, "upr"])), 
        col = adjustcolor("gray", alpha.f = 0.3), border = NA)

# 添加红色回归线
abline(fit, col = "red", lwd = 2)

关于你手动计算的标准误差说明

你手动计算的se是残差标准误差,代表模型整体的误差估计;而ggplot中geom_smooth(method="lm", se=T)展示的是拟合值的95%置信区间,反映每个x对应拟合值的不确定性范围。如果需要基于残差标准误差构建区间,可结合t分布分位数计算,但通常我们更关注拟合值的置信区间,即上述代码的实现逻辑。


内容的提问来源于stack exchange,提问作者Shawn Hemelstrand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:11:03