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

如何使用gtsummary的tbl_uvregression制作带偏移项的单因素Poisson回归表

含偏移项的单因素Poisson回归gtsummary表实现方案

核心注意点

使用tbl_uvregression()生成带偏移项的单因素回归表时,偏移项不能直接写入formula参数,必须通过函数内置的offset参数传入,否则会出现模型无法拟合、偏移项未纳入的问题。

前置准备与示例数据构造

首先加载依赖包,构造和描述一致的示例数据集与协变量向量:

# 加载依赖包
library(gtsummary)

# 构造示例数据集
set.seed(123)
Data <- data.frame(
  anomalies_tot = rpois(200, lambda = 2), # 计数型结局变量
  nvx = runif(200, min = 1, max = 10), # 偏移项对应暴露量
  age_moyen = rnorm(200, mean = 45, sd = 10), # 协变量:平均年龄
  productivite = rnorm(200, mean = 80, sd = 15) # 协变量:生产力
)

# 指定单因素分析协变量向量
u_var <- c("age_moyen", "productivite")

错误写法示例

以下写法无法正确纳入偏移项,会导致模型运行报错或结果偏误:

# 错误:偏移项写入formula无法被函数正确解析
Data %>% 
  tbl_uvregression(
    method = glm,
    y = anomalies_tot,
    method.args = list(family = poisson(link = "log")),
    formula = "{y} ~ {x} + offset(log(nvx))",
    include = all_of(u_var)
  )

正确实现代码

通过offset参数传入经log转换的偏移项,即可自动为每个单因素模型添加对应偏移项,输出符合报告规范的结果:

result_tbl <- Data %>% 
  tbl_uvregression(
    method = glm,
    y = anomalies_tot, # 指定计数结局
    method.args = list(family = poisson(link = "log")), # 指定Poisson回归模型
    formula = "{y} ~ {x}", # 单因素模型基础公式,无需手动添加偏移项
    offset = log(nvx), # 传入偏移项,自动加入所有单因素模型
    include = all_of(u_var), # 覆盖u_var中指定的全部协变量
    exponentiate = TRUE, # 输出指数化后的效应值IRR(发病率比),适配计数回归报告习惯
    pvalue_fun = ~style_pvalue(.x, digits = 3) # 可自定义统计量显示格式
  ) %>% 
  bold_labels() # 加粗变量标签,适配正式报告格式要求

# 打印输出结果表
result_tbl

结果说明

  • 上述代码拟合的每个单因素模型,与手动用lapply循环构造的含offset(log(nvx))的Poisson回归结果完全一致
  • 输出表格默认遵循临床/公共卫生领域报告规范,可直接用于白皮书、学术论文的结果展示,支持一键导出为Word、PDF、HTML等格式
  • 如需调整表格显示内容,可通过gtsummary内置的modify_header()、add_n()、add_glance_table()等函数自定义列名、添加样本量、模型拟合优度统计量等内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 20:33:40