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

如何用stargazer报告coxph回归模型的exp(coefs)?

解决方法

stargazer本身没有内置类似exponentiate = TRUE的直接参数来处理coxph模型的系数指数化,但可以通过两种方式实现展示exp(coefs)(即风险比HR)的需求:

方法一:利用stargazer的参数直接转换

通过apply.coef参数对系数取指数,同时传入指数化后的置信区间,确保结果正确:

library(stargazer)
# 提取模型的置信区间并指数化
hr_ci <- exp(confint(My.model))
# 生成带风险比的结果表
stargazer(My.model,
          apply.coef = exp,          # 将系数转换为风险比
          ci.custom = list(hr_ci),   # 传入指数化后的置信区间
          type = "text",             # 输出格式,可选"html"/"latex"
          title = "Cox比例风险模型结果(风险比)")

注意:如果只设置apply.coef = exp,表格中的置信区间仍会保留log尺度的数值,必须搭配ci.custom传入指数化后的置信区间,才能得到HR对应的可信区间。

方法二:先转换模型结果再传入stargazer

可以用broom包的tidy()函数先将模型结果转换为指数形式的数据框,再传入stargazer:

library(broom)
library(stargazer)
# 转换模型结果为风险比格式
model_hr <- tidy(My.model, exponentiate = TRUE)
# 生成表格
stargazer(model_hr,
          type = "text",
          summary = FALSE,           # 因为传入的是数据框,关闭默认汇总统计
          title = "Cox比例风险模型结果(风险比)")

这种方式更灵活,适合需要提前处理结果的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:15:35