gtsummary包:如何隐藏汇总表中标记为‘1, N = 61’的列?
解决gtsummary中隐藏指定分组列的问题
你遇到的问题是因为调用add_overall()后,表格的列标识符发生了变化,直接用"1"无法匹配到目标列。以下是两种可行的解决方案:
方案1:通过列位置隐藏
添加overall列后,原分组列response=1(即标记为"1, N = 61"的列)通常是第3列(第1列是overall,第2列是response=0),直接用位置索引定位:
library(gtsummary) trial <- trial trial %>% tbl_summary(by=response, statistic = list(trt~"{n}/{N} ({p}%)")) %>% add_overall() %>% add_p() %>% modify_column_hide(columns = 3)
方案2:通过列的变量名匹配
by=response生成的分组列会被自动命名为response_0和response_1,可以直接用vars(response_1)指定目标列:
library(gtsummary) trial <- trial trial %>% tbl_summary(by=response, statistic = list(trt~"{n}/{N} ({p}%)")) %>% add_overall() %>% add_p() %>% modify_column_hide(columns = vars(response_1))
额外验证方法
如果不确定列的标识符,可以先打印表格的主体数据确认:
trial %>% tbl_summary(by=response, statistic = list(trt~"{n}/{N} ({p}%)")) %>% add_overall() %>% add_p() %>% modify_table_body(~{print(.)})
内容的提问来源于stack exchange,提问作者Adilson Bauhofer
相关产品推荐
相关产品推荐

