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

如何在R中生成按组分层的连续变量LaTeX描述性统计表

解决方案:生成嵌套分层的LaTeX描述性统计表格

我明白你想要的是按sex外层分组、age_group内层嵌套的连续变量outcome描述性统计LaTeX表格,Hmisc::summaryM的默认布局确实很难调整到这种嵌套结构,这里有两个更灵活的工具可以帮你实现目标:


方案1:使用gtsummary包(推荐,语法简洁直观)

gtsummary专门用于生成符合学术规范的统计表格,支持嵌套分层,还能一键导出LaTeX,非常省心:

# 安装并加载包
install.packages("gtsummary")
library(gtsummary)
library(dplyr)

# 生成嵌套分层的描述性统计表格
tbl <- dat %>%
  tbl_summary(
    by = c(sex, age_group),  # 先按sex分组,再嵌套age_group
    include = outcome,        # 仅分析outcome变量
    # 自定义统计量格式,可根据需求修改(比如中位数四分位数)
    statistic = list(outcome ~ "{mean} ({sd})")
  ) %>%
  # 添加跨组表头,让结构更清晰
  modify_spanning_header(all_stat_cols() ~ "**Sex & Age Group**") %>%
  # 可选:添加组间比较的统计检验(比如t检验/方差分析)
  add_p(test = outcome ~ aov)

# 导出为LaTeX代码(直接复制到你的LaTeX文档即可)
tbl %>% as_tex()

这个代码会生成完全符合你需求的嵌套表格:外层是性别(F/M),每个性别下再拆分不同的年龄组,每个分组对应outcome的统计量,布局清晰易读。


方案2:使用tables包(精确控制表格细节)

如果你需要对表格结构做更精细的定制,tables包的公式语法可以实现高度个性化的分层:

# 安装并加载包
install.packages("tables")
library(tables)

# 定义嵌套分层的表格结构
tab <- tabular(
  # 语法规则:行分组 * 嵌套行分组 ~ 变量 * 统计量
  sex * age_group ~ outcome * (mean + sd),
  data = dat,
  # 自定义列名
  colnames = c("Mean", "SD")
)

# 生成LaTeX代码
latex(tab, file = "")  # file=""会直接在控制台输出LaTeX代码

这个方案适合需要严格控制表格排版细节的场景,比如调整行间距、添加额外注释等。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 17:20:19