我可以在 R 中将 vcov= "robust" 的模型摘要用于 cox 模型吗?



我有一些由coxph创建的cox模型,我想用modelsummary对它们进行总结。然而,当我在coxph脚本中编写robust=T,并像下面这样运行modelsummary时,我会收到一条错误消息,上面写着">get_vcov.default中的错误(型号,vcov=vcov,conf_level=conf_level,:无法从类舵手模型中提取鲁棒类型的方差-协方差矩阵。方差-协方差矩阵是调整标准误差所必需的。vcov自变量接受方差-协方差矩阵、标准误差向量或返回其中一个的函数,如stats::vcov";

modelsummary(models,
stars=T,
vcov = 'robust'      
)

此外,当我使用vcov = 'classical'时,我得到了表格,但星星消失了。当我在coxph脚本中写入robust=F时,它们就会出现。

如何将coxph脚本中的robust=T和模型摘要中的vcov = 'robust'一起使用?

modelsummary函数使用sandwich包来计算稳健的标准误差。vcov="robust"选项调用sandwich::vcovHC()来计算异方差一致性标准误差。此功能似乎不支持(至少部分(coxph型号。

但是,sandwich软件包中的一些其他功能可能支持您的模型。例如,这里有一个模型的例子,其中vcovHC工作而不工作,但vcovHAC工作(异方差和自相关一致标准误差(。

library(modelsummary)
library(survival)
library(sandwich)
bladder1 <- bladder[bladder$enum < 5, ]
mod <- coxph(
Surv(stop, event) ~ rx + size + number,
cluster = id,
data = bladder1,
robust = TRUE)
sandwich::vcovHC(mod)
#> Error in meatHC(x, type = type, omega = omega): hatvalues() could not be extracted successfully but are needed for HC3
sandwich::vcovHAC(mod)
#>                rx        size      number
#> rx     0.49295246 0.021777986 0.020566583
#> size   0.02177799 0.022118330 0.002851453
#> number 0.02056658 0.002851453 0.020215100
modelsummary(mod, vcov = "HAC", output = "markdown")
模型1rx-0.540(0.200(size-0.055(0.070(数字0.193(0.046(Num.Obs.340AIC1182.2BICRMSE0.57标准错误HAC

最新更新