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

使用gtsummary处理含空值耐药标记数据时的列删除与重命名问题

gtsummary处理含空值耐药标记数据时的列删除与重命名问题

看起来你在用gtsummary制作微生物和耐药标记的汇总表时,被空值对应的****列给难住了,我来帮你一步步解决这两个问题:

问题1:删除****列(无耐药标记的分组)

这个列对应的是Resistance.markers字段为空值的观测,有两种简单的处理思路:

方式一:提前过滤空值数据

在数据筛选阶段直接排除空值观测,这样后续制表就不会出现这个分组了:

GNRs_resistance %>% 
  filter(Organism %in% gramnegativerods, 
         !is.na(Resistance.markers),  # 排除NA值
         Resistance.markers != "")   # 排除空字符串
  tbl_summary(include= c(Organism, Resistance.markers),
              by = Resistance.markers,
              statistic = Organism ~ "{n} ({p}%)") %>% 
  add_overall() %>% 
  modify_header(all_stat_cols() ~ "**{level}**<br>n = {n}")

方式二:在gtsummary中直接隐藏列

如果不想改动原始数据的筛选逻辑,也可以用modify_column_hide隐藏这个空值对应的列。你可以先运行到tbl_summary步骤后,用names()查看生成的列名,再指定要隐藏的列(比如空值分组对应的列是stat_0):

GNRs_resistance %>% 
  filter(Organism %in% gramnegativerods) %>% 
  tbl_summary(include= c(Organism, Resistance.markers),
              by = Resistance.markers,
              statistic = Organism ~ "{n} ({p}%)") %>% 
  add_overall() %>% 
  modify_header(all_stat_cols() ~ "**{level}**<br>n = {n}") %>%
  modify_column_hide(columns = stat_0)  # 替换成实际对应的空值列名

问题2:将****列重命名为“Nil detected”

直接用modify_header(**** = "**Nil detected**")没生效,是因为这个列对应的分组{level}是空值,gtsummary无法识别你写的****。最直观的解决方式是先把数据里的空值替换成“Nil detected”,再制表:

GNRs_resistance %>% 
  filter(Organism %in% gramnegativerods) %>%
  # 把空值和NA统一替换为"Nil detected"
  mutate(Resistance.markers = case_when(
    is.na(Resistance.markers) | Resistance.markers == "" ~ "Nil detected",
    TRUE ~ Resistance.markers
  )) %>%
  tbl_summary(include= c(Organism, Resistance.markers),
              by = Resistance.markers,
              statistic = Organism ~ "{n} ({p}%)") %>% 
  add_overall() %>% 
  modify_header(all_stat_cols() ~ "**{level}**<br>n = {n}")

这样生成的表中,原本的****列就会自动显示为“Nil detected”,不需要额外修改表头。

备注:内容来源于stack exchange,提问作者Stuart Drazich-Taylor

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:39:41