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

在gtsummary中能否将add_n()结果添加至变量标签旁而非新列?

在gtsummary变量名旁添加样本量标注的实现方法

gtsummary没有直接的默认配置选项能一键实现这个需求,但可以通过自定义变量标签的方式轻松完成,把样本量(N = {N})直接拼在变量名称后面,和原标签同列。

具体代码示例

library(gtsummary)
library(dplyr)
library(tidyr)

# 1. 先获取目标变量的原标签和对应非缺失样本量
var_info <- mtcars %>%
  select(mpg, disp, vs) %>%
  # 计算每个变量的非缺失样本量
  summarise(across(everything(), ~sum(!is.na(.x)))) %>%
  pivot_longer(everything(), names_to = "variable", values_to = "n") %>%
  # 关联gtsummary默认的变量标签
  left_join(tbl_summary(mtcars %>% select(mpg, disp, vs))$meta_data %>% select(variable, label), 
            by = "variable") %>%
  # 拼接新标签:原标签 + (N = 样本量)
  mutate(new_label = paste0(label, " (N = ", n, ")"))

# 2. 生成带自定义标签的统计表格
mtcars %>% 
  select(mpg, disp, vs) %>% 
  tbl_summary(
    # 传入自定义的变量标签
    label = setNames(var_info$new_label, var_info$variable)
  )

补充说明

  • 代码自动适配有缺失值的场景,统计的是每个变量的非缺失样本量
  • 不需要额外调用add_n(),避免出现重复的样本量列
  • 如果是分组统计表格(带by参数),只需调整样本量计算逻辑,按分组统计每个变量的N后再拼接标签即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:24:40