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

如何在ggscatter中绘制无常数项回归直线并显示对应R²

解决方案

你需要给所有涉及回归计算的图层统一指定无截距的公式y ~ x - 1(等价于y ~ 0 + x),修改后的完整代码如下:

ggscatter(
  reg_data, x = "PCE.Annual", y = "Annual.Increase",
  color = "Region", palette = "jco",
  add = "reg.line",
  # 给默认添加的回归直线指定无截距公式
  add.params = list(formula = y ~ x - 1)
) +
  facet_wrap(~Region) +
  # 回归方程标注同步使用无截距公式
  stat_regline_equation(formula = y ~ x - 1, label.y = .15) +
  # R²计算也匹配无截距模型的计算逻辑
  stat_cor(aes(label = ..rr.label..), formula = y ~ x - 1, label.y = 0.1)

修改说明

  • 原代码中ggscatter默认添加的回归直线使用带截距的默认公式y~x,通过add.params参数传递无截距公式,即可让绘制的直线拟合无常数项的线性模型
  • stat_regline_equation和stat_cor必须同步传入相同的无截距公式,才能保证输出的回归方程系数、R²和实际绘制的直线完全匹配,避免出现标注结果和直线不一致的问题
  • 无截距回归的R²计算逻辑和带截距模型不同,是基于离原点的平方和计算的,结果和带截距模型的R²不一致属于正常情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:27:00