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

指定col_counts时rtables中display_columncounts及表头N=xx移除功能失效

问题原因

当调用build_table()时传入col_counts参数,rtables会强制将该参数指定的计数添加到列标签中,此操作优先级高于basic_table(show_colcounts = FALSE)的设置,甚至手动修改tbl6@col_info@display_columncounts也无法覆盖——因为列标签在表格构建阶段就已生成包含计数的版本。

解决方案

有两种可行方式实现“自定义列计数但不显示表头(N=xx)”的需求:

方式1:构建后修改列标签

在原代码基础上,通过正则表达式移除列标签中的计数部分:

library(rtables)

lyt3 <- basic_table(show_colcounts = FALSE) %>%
  split_cols_by("ARM") %>%
  analyze("AGE", afun = function(x) {
    setNames(as.list(fivenum(x)), c(
      "minimum", "lower-hinge", "median",
      "upper-hinge", "maximum"
    ))
  })

tbl6 <- build_table(lyt3, DM, col_counts = 1:3)

# 移除列标签中的(N=xx)文本
new_col_labels <- gsub("\\s*\\(N=\\d+\\)", "", col_labels(tbl6))
tbl6 <- set_col_labels(tbl6, new_col_labels)

tbl6

方式2:布局阶段手动设置计数(不使用col_counts参数)

在列拆分时手动指定每个分组的计数,同时保持show_colcounts = FALSE:

library(rtables)

lyt3 <- basic_table(show_colcounts = FALSE) %>%
  split_cols_by("ARM", split_fun = function(df, spl) {
    splits <- split_rows_by(df, spl)
    # 为每个分组手动设置自定义计数
    splits[[1]]$count <- 1
    splits[[2]]$count <- 2
    splits[[3]]$count <- 3
    splits
  }) %>%
  analyze("AGE", afun = function(x) {
    setNames(as.list(fivenum(x)), c(
      "minimum", "lower-hinge", "median",
      "upper-hinge", "maximum"
    ))
  })

tbl6 <- build_table(lyt3, DM)
tbl6

两种方式均会输出你预期的无(N=xx)表头的表格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 02:48:20