如何在gtsummary中对指定变量而非整个数据集做子集筛选
解决方案
实现单变量独立筛选统计有两种常用方案,差异在于gear占比的统计分母,可按需选择:
方案1:gear占比仅基于档位为3/4的观测计算
实现最简单,仅需临时将gear等于5的取值替换为缺失值,不会改动其他变量的原始数据,mpg的统计会自动保留全部观测值:
library(gtsummary) library(dplyr) mtcars %>% select(cyl, mpg, gear) %>% # 仅修改gear列,将档位5设为缺失值,其他列无变化 mutate(gear = na_if(gear, 5)) %>% tbl_summary( by = cyl, # 隐藏gear的缺失值统计行 missing = "no" )
方案2:gear占比基于全量观测计算
如果需要3/4档的占比以整个数据集的观测数为分母,可先生成全量统计结果,再针对性过滤表格中的对应行:
library(gtsummary) library(dplyr) mtcars %>% select(cyl, mpg, gear) %>% tbl_summary(by = cyl) %>% # 仅移除gear变量中档位为5的统计行,其他变量的统计结果完全不变 modify_table_body( ~ filter(.x, !(variable == "gear" & label == "5")) )
内容的提问来源于stack exchange,提问作者mdb_ftl
相关产品推荐
相关产品推荐

