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

基于未加权数据修改加权gt表格:n<2时替换为NA

基于未加权样本量修改加权表格单元格为NA的实现方法

需求说明

当未加权分组的样本量n<2时,将加权表格中对应单元格的统计值替换为NA。

解决方案步骤

  1. 计算未加权分组计数
    先生成未加权的交叉计数表,并转为数据框格式,方便后续与加权表格的统计数据关联:

    # 计算未加权分组样本量
    unweighted_counts <- table(df$a, df$b) %>%
      as.data.frame(responseName = "n_unweighted") %>%
      setNames(c("a", "b_level", "n_unweighted"))
    
  2. 关联计数并修改加权表格数据
    通过tbl_summary_object$df_by访问gtsummary生成的分组统计数据,将未加权计数关联后,根据条件替换统计值:

    # 关联未加权计数,替换符合条件的统计值为NA
    tbl_summary_object$df_by <- tbl_summary_object$df_by %>%
      left_join(unweighted_counts, by = c("by" = "a", "level" = "b_level")) %>%
      mutate(
        # 修改显示文本为NA
        stat_display = ifelse(n_unweighted < 2, NA_character_, stat_display),
        # 修改底层统计值为NA
        stat = ifelse(n_unweighted < 2, NA_real_, stat)
      ) %>%
      select(-n_unweighted) # 移除临时计数列
    
  3. 查看修改后的表格
    打印修改后的表格即可看到效果:

    print(tbl_summary_object)
    

效果验证

在你的示例数据中,f-g1和m-g1的未加权样本量均为1,修改后这两个单元格的加权统计值会被替换为NA,其余单元格保持原有加权计算结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 04:45:43