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

如何用stargazer报告coxph模型的指数化系数?

解决Cox模型用Stargazer展示HR(exp(coefs))的方法

Stargazer本身没有内置的exponentiate = TRUE参数直接转换Cox模型的系数,但可以通过两种方式实现展示风险比(HR,即exp(coefs)):

方法一:手动转换系数后传入Stargazer

直接提取模型的系数、标准误和p值,手动转换为HR对应的统计量,再传给Stargazer的参数:

# 提取模型系数并转换为HR
hr <- exp(coef(cox.model))
# 计算HR的标准误:原系数标准误 × HR(基于delta方法)
hr_se <- exp(coef(cox.model)) * sqrt(diag(vcov(cox.model)))
# 提取p值
p_vals <- summary(cox.model)$coefficients[, "Pr(>|z|)"]

# 调用stargazer,传入转换后的统计量
stargazer(cox.model,
          coef = list(hr),
          se = list(hr_se),
          p = list(p_vals),
          title = "Cox比例风险模型结果(风险比HR)",
          type = "text") # 可根据需求改为"html"或"latex"

方法二:用broom包预处理模型结果

借助broom包的tidy()函数直接生成包含HR的模型结果,再传给Stargazer:

library(broom)
# 整理模型结果,自动转换为HR
tidy_cox <- tidy(cox.model, exponentiate = TRUE)

# 用stargazer展示整理后的结果
stargazer(as.data.frame(tidy_cox),
          summary = FALSE,
          title = "Cox比例风险模型结果(风险比HR)",
          type = "text")

注意事项

  • 模型中的strata(enum)分层项会被Stargazer自动识别,无需额外处理
  • 模型指定的cluster = id聚类标准误已经包含在vcov(cox.model)中,手动转换时会自动沿用

内容的提问来源于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 07:10:33