如何在不使用by=分层时为tbl_svysummary表头添加未加权计数
解决tbl_svysummary表头展示未加权计数的方法
不需要用by=参数分层的前提下,完全可以在tbl_svysummary对象的表头里展示未加权计数,直接用modify_header()配合unweighted_n()函数就能实现,不用依赖add_overall()(毕竟add_overall()默认总列显示加权计数,容易和分层列的未加权计数出现不一致)。
具体操作步骤和示例代码如下:
- 先创建不含
by参数的基础tbl_svysummary对象 - 通过
modify_header()手动定义表头格式,调用unweighted_n()插入未加权样本量
library(gtsummary) library(survey) # 示例:构建调查设计对象 data(api) dclus1 <- svydesign(id = ~dnum, weights = ~pw, data = apiclus1, fpc = ~fpc) # 生成汇总表并修改表头 tbl <- dclus1 %>% tbl_svysummary(include = c(api00, api99)) %>% # 表头格式:变量名 + 未加权计数 modify_header(all_stat_cols() ~ "**{label}**\n(N = {unweighted_n()})") # 查看结果 tbl
这样设置后,每个变量的表头会显示变量名称,下方括号里就是该变量对应的未加权样本量,完全符合需求。
内容的提问来源于stack exchange,提问作者Abdullah Abdelaziz
相关产品推荐
相关产品推荐

