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

如何使用table1包仅获取中位数与IQR而非均数/中位数[范围]?

使用table1包仅展示中位数和IQR的方法

当然可以,通过自定义render参数就能实现只输出中位数和IQR,替换默认的均数/中位数[范围]格式,具体用法如下:

  1. 加载包并构造示例数据
    先准备测试数据用于演示:

    library(table1)
    
    # 构造示例数据集
    set.seed(123)
    df <- data.frame(
      Group = factor(sample(c("A", "B"), 100, replace=TRUE)),
      Age = rnorm(100, 50, 10),
      BMI = rnorm(100, 25, 3)
    )
    
  2. 自定义连续变量的渲染函数
    针对连续变量,定义仅返回中位数和IQR的函数,覆盖默认渲染逻辑:

    # 自定义连续变量的输出规则
    render_continuous <- function(x) {
      med <- median(x, na.rm = TRUE)
      iqr_val <- IQR(x, na.rm = TRUE)
      # 格式化输出,这里保留1位小数,可按需调整
      sprintf("%.1f (%.1f)", med, iqr_val)
    }
    
  3. 调用table1生成目标表格
    在table1函数中,通过render参数指定自定义的渲染规则:

    table1(~ Age + BMI | Group, data = df,
           render = list(
             continuous = render_continuous
           ))
    

生成的表格将仅展示每个变量的中位数和IQR,不会包含均数或范围信息。如果需要调整小数位数,直接修改sprintf中的格式符即可(比如%.2f表示保留两位小数)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:35:24