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

如何使用R的ggplot绘制固定效应回归线上各数据点的残差距离

实现方案

完全可以通过ggplot实现该需求,核心是用geom_segment()图层绘制每个观测点到回归线的残差线段即可。

实现逻辑

  • 残差为观测值progenyMean与回归线上对应预测值的差值,可通过你给出的回归公式y=71.09+4.64564x直接计算每个点的预测值
  • 用geom_segment()绘制从观测点(damMean, progenyMean)到回归线上对应点(damMean, 71.09 + 4.64564*damMean)的线段,即可直观展示残差距离

完整可运行代码

# 加载所需包
library(plm)
library(ggplot2)

# 构建面板数据
data <- data.frame(
  ID = c(1,1,1,1,2,2,3,3,3),
  year = c(1,2,3,4,1,2,1,2,3),
  progenyMean = c(70,68,72,69,76,73,72,75,71),
  damMean = c(69,69,72,68,75,80,74,67,69)
)

# 拟合固定效应模型(也可直接从该模型提取系数,无需手动输入)
fixed <- plm(progenyMean ~ damMean, data, model= "within", index = c("ID","year"))

# 计算每个点的回归预测值
data$pred_y <- 71.09 + 4.64564 * data$damMean

# 绘制可视化图形
ggplot(data, aes(x = damMean, y = progenyMean)) + 
  geom_point(size = 2) +
  # 绘制残差线段,这里设置为红色半透明避免遮挡
  geom_segment(aes(xend = damMean, yend = pred_y), color = "red", alpha = 0.6, linewidth = 0.8) +
  # 绘制蓝色固定效应回归线
  geom_abline(slope = 4.64564, intercept = 71.09, color = "blue", linewidth = 1) +
  theme_bw()

自定义调整说明

  • 若需要绘制垂直于回归线的欧氏距离线段,只需修改geom_segment的xend和yend参数,根据回归线斜率计算垂足坐标即可
  • 可自行调整线段、散点、回归线的颜色、粗细、透明度参数,匹配你需要的样式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:12:01