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

在gtsummary 2.0.1中如何将表头加权N改为未加权n?

解决方法

要把gtsummary生成的调查表格表头加权N替换为未加权样本量,按以下两步操作即可:

1. 提取未加权总样本量

从调查设计对象中直接获取原始数据的行数,就是未加权的总样本数:

unweighted_n <- nrow(svy_design$variables)

2. 修改表头文本

用modify_header()函数直接替换表头里的加权N值,完整代码示例如下:

library(gtsummary)
library(survey)
data(api)

# 构建调查设计对象
svy_design <- svydesign(id = ~1, weights = ~pw, data = api)

# 生成包含未加权n的统计表格
tbl <- svy_design %>%
  tbl_svysummary(
    by = stype,
    include = c(awards, sch.wide),
    statistic = list(all_categorical() ~ "{n_unweighted} ({p}%)")
  )

# 计算未加权总样本量
unweighted_n <- nrow(svy_design$variables)

# 替换表头的加权N为未加权n
tbl_final <- tbl %>%
  modify_header(all_stat_cols() ~ "**{level}**<br>N = {unweighted_n}")

# 输出最终表格
tbl_final

如果是无分组的单列表格,只需调整modify_header的目标列:

tbl_final <- tbl %>%
  modify_header(stat_0 ~ "**Overall**<br>N = {unweighted_n}")

原理说明

gtsummary默认在表头显示加权样本量,但通过modify_header()可以完全自定义表头内容。我们先获取原始数据的未加权总行数,再将表头中的加权N文本直接替换为该数值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:20:58