如何在gtsummary::tbl_summary()中调整百分比并移除缺失值行?
使用gtsummary生成基于总样本百分比的汇总表(隐藏缺失行)
最简便的解决方法(无需转换缺失值)
直接在tbl_summary()中通过percent = "total"参数指定百分比基于总样本计算,同时用missing = "no"隐藏缺失值行:
library(gtsummary) library(tidyverse) # 示例数据 df <- tribble( ~grade, ~year, "A", "senior", NA_character_, " senior", "A", NA_character_, "B", NA_character_, NA_character_, NA_character_, "F", "freshmen" ) # 生成目标汇总表 df %>% tbl_summary( missing = "no", # 不显示缺失值行 percent = "total" # 百分比基于总样本量计算 )
运行后,grade列的A会显示为2 (33.3%)(2/6),而非默认的2 (50%)(2/4),完全符合需求。
若已转换缺失值为显式水平,移除(Missing)行的方法
如果已经通过forcats::fct_explicit_na()将缺失值转为显式水平,可通过modify_table_body()过滤掉标记为(Missing)的行:
# 转换缺失值为显式水平 df_explicit_na <- df %>% mutate(across(everything(), ~forcats::fct_explicit_na(.x))) # 生成汇总表并移除(Missing)行 df_explicit_na %>% tbl_summary() %>% modify_table_body( ~ .x %>% filter(label != "(Missing)") )
但这种方法不如直接设置percent = "total"简便,更推荐第一种方案。
内容的提问来源于stack exchange,提问作者nightstand
相关产品推荐
相关产品推荐

