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

如何为modelsummary输出表格添加系数分组行标题

R语言modelsummary回归系数分组添加行标题实现方法

给系数加分组行标题直接用shape+group_map两个参数搭配就能实现,不需要手动改模型输出或者做表格拼接,具体用法如下:

参数说明

  • shape:用来定义表格的行列结构,要给行方向的系数加分组,直接传公式 自定义分组列名 ~ model 即可,比如我们把分组列命名为「变量类型」,就写变量类型 ~ model
  • group_map:接收命名列表,列表的名称就是你要显示的分组行标题,列表内的元素是对应分组下包含的所有回归系数的原始名称,和模型coef()输出的变量名完全一致就能自动匹配归类。

实操代码

基于你提供的测试代码,举个实际分组的例子:把气缸数cyl归到「车辆基础属性」组,排量disp、马力hp归到「动力性能参数」组,截距单独归为「常数项」组,代码如下:

library(modelsummary)

ols1 <- lm(mpg ~ cyl + disp + hp,
  data = mtcars,
  na.action = na.omit
)

# 配置分组规则:列表顺序就是表格里分组的显示顺序
my_group <- list(
  "常数项" = "(Intercept)",
  "车辆基础属性" = "cyl",
  "动力性能参数" = c("disp", "hp")
)

modelsummary(ols1,
  title = "Table 1",
  stars = TRUE,
  shape = 变量类型 ~ model,
  group_map = my_group
)

注意事项

  • 分组里写的系数名必须和模型输出的原始变量名完全匹配,存在因子变量、交互项的时候,直接对照coef(你的模型对象)输出的名称写就行,匹配错了系数会跑到分组外面
  • 不想显示的系数(比如截距)不用写到分组规则里,直接加coef_omit = "要隐藏的系数名"参数即可
  • 多模型并排输出的场景这个方法同样适用,只要不同模型里同组的变量名一致,分组规则会自动适配所有模型列
  • 分组标题默认加粗居左显示,不需要额外调整格式,要改样式的话可以配合style相关参数自定义。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:03:20