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

如何在table1包生成的汇总统计表格中添加自定义描述性统计指标

R table1包保留默认统计量并新增取值为1的次数统计解决方案

原有代码问题分析

  • 硬编码统计逻辑:sum(results19$tech==1)固定读取全局数据集的tech列计算,不会适配当前处理的变量,也不会按REGION分组统计
  • 未调用默认渲染逻辑:自定义函数完全覆盖了原有默认的均值、标准差、极值等统计项的生成逻辑,导致原有统计结果丢失

正确实现代码

自定义渲染函数时先保留默认统计结果,再追加新增的统计项即可:

# 自定义连续变量渲染函数
render.continuous.custom <- function(x, ...) {
  # 保留table1默认的连续变量统计结果(均值、标准差、最小值、最大值等)
  default_res <- table1::render.continuous.default(x, ...)
  # 新增当前变量取值为1的次数统计,na.rm=TRUE避免缺失值导致计算错误
  extra_row <- c("Eff. Obs." = sum(x == 1, na.rm = TRUE))
  # 合并结果返回
  return(c(default_res, extra_row))
}

# 生成表格,传入自定义渲染函数
table1::table1(~ITE_tech + tech + IMR_tech | REGION, 
               data = results19, 
               render.continuous = render.continuous.custom)

函数内的参数x是table1自动传入的、对应每个分组下当前统计变量的取值,因此无需手动处理分组逻辑,计算结果会自动适配不同分组和不同变量。如果需要调整新增行的显示名称,直接修改extra_row里的命名即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 11:24:02