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

如何删除gtsummary表格中特定条件的指定单元格内容

解决方案:删除指定单元格内容

方法1:直接在gtsummary中完成修改

核心是用modify_table_body()精准定位目标单元格,把对应值替换为空。你要找的是Company B分层下、Score_level=Low行、Gender=F列(对应列名stat_1_2)的单元格,直接在表格构建流程中加入修改步骤即可:

library(tidyverse)
library(gtsummary)

Score_level <- c("Low", "High", "Average", "Low", "High", "Average","Low", "High", "Average","Low", "High", "Average","Low", "High", "Average", "Low")
Gender <- c("M", "F", "M", "F","M", "F","M", "F","M", "F","M", "F","M", "F", "M", "F")
Company <- c("Company_A", "Company_B", "Company_B", "Company_A","Company_A", "Company_B","Company_A", "Company_B","Company_A", "Company_B","Company_A", "Company_B","Company_A", "Company_B", "Company_A", "Company_B")

df <- data.frame(Score_level, Gender, Company)

df %>%
  tbl_strata(strata = Company, 
             .tbl_fun = ~ .x %>%
               tbl_summary(by = Gender,
                           statistic = all_categorical() ~ "{n} ({p}%)",
                           missing_text = "(Missing Data)") %>%
               modify_header(label = "**Outcome**")) %>%
  # 定位目标单元格并清空内容
  modify_table_body(
    ~ .x %>%
      mutate(
        stat_1_2 = ifelse(strata == "Company_B" & label == "Low", "", stat_1_2)
      )
  )

方法2:转换为gt表格后修改

如果更习惯gt的操作逻辑,先把gtsummary对象转成gt,再精准定位目标单元格清空内容:

df %>%
  tbl_strata(strata = Company, 
             .tbl_fun = ~ .x %>%
               tbl_summary(by = Gender,
                           statistic = all_categorical() ~ "{n} ({p}%)",
                           missing_text = "(Missing Data)") %>%
               modify_header(label = "**Outcome**")) %>%
  as_gt() %>%
  # 直接替换指定单元格内容为空
  fmt_missing(
    columns = stat_1_2,
    rows = strata == "Company_B" & label == "Low",
    missing_text = ""
  )

两种方法都能保留Company B分组下、Score_level=Average行的stat_1_2值,只清空你指定的目标单元格。

内容的提问来源于stack exchange,提问作者Stats Iliterate

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 00:45:09