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

如何解决gtsummary中tbl_continuous处理连续变量的结果异常问题

解决gtsummary中连续变量关联分析的表格需求

问题本质

tbl_continuous()的设计目标是汇总连续变量在分组变量中的分布特征,哪怕传入连续变量作为by=参数,它也会自动将其分箱转换为因子(默认按分位数分组),因此输出的是分组比较的p值,而非变量间线性关联的R²。要得到包含Characteristic、R2、p-value的表格,需要换用回归模型配合gtsummary的工具实现。

具体实现步骤

1. 单变量线性回归(单个连续变量与目标变量的关联)

适用于查看每个连续自变量和目标连续变量(如ttdeath)的单独关联:

library(gtsummary)
library(dplyr)
library(purrr)

# 构造可重复的模拟数据(替换为你的真实数据)
set.seed(123)
df <- tibble(
  ttdeath = rnorm(100, mean = 50, sd = 10),
  age = rnorm(100, mean = 60, sd = 8),
  bmi = rnorm(100, mean = 25, sd = 3)
)

# 批量生成每个自变量的单变量回归结果表格
single_var_results <- df %>%
  select(-ttdeath) %>%
  names() %>%
  map(function(var) {
    # 拟合单变量线性回归
    fit <- lm(as.formula(paste0("ttdeath ~ ", var)), data = df)
    # 提取模型结果并添加R²
    fit %>%
      tbl_regression(include = -intercept) %>%
      add_glance_table(include = r.squared) %>%
      # 调整表格结构,保留需要的列
      modify_table_body(
        mutate,
        Characteristic = !!var,
        R2 = sprintf("%.3f", r.squared),
        p.value = p.value
      ) %>%
      select(Characteristic, R2, p.value)
  }) %>%
  # 合并所有单变量结果
  tbl_merge(tab_spanner = NULL)

# 输出表格
single_var_results

2. 多变量线性回归(多个连续变量与目标变量的联合关联)

如果需要查看多元模型的整体R²和显著性:

# 拟合多变量线性回归
multi_fit <- lm(ttdeath ~ age + bmi, data = df)

# 生成包含模型汇总的表格
multi_var_results <- multi_fit %>%
  tbl_regression() %>%
  # 添加模型整体的R²和p值
  add_glance_table(include = c(r.squared, p.value)) %>%
  # 在表格顶部添加模型汇总行
  modify_table_body(
    add_row,
    Characteristic = "Model Summary",
    R2 = sprintf("%.3f", glance(multi_fit)$r.squared),
    p.value = glance(multi_fit)$p.value,
    .before = 1
  ) %>%
  select(Characteristic, R2, p.value)

# 输出表格
multi_var_results

关键说明

  • tbl_continuous()不适合做变量间的关联分析,仅用于描述性统计汇总;
  • 用lm()拟合线性回归后,通过tbl_regression()提取系数结果,add_glance_table()获取模型的R²等整体指标,再通过modify_table_body()调整表格列和内容,就能得到你需要的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 00:50:11