使用crrSC包中的crrs()从分层Fine-Gray模型中获取子分布风险比和95%置信区间

rlcwz9us  于 2023-09-27  发布在  其他
关注(0)|答案(1)|浏览(124)

我使用crrSC包中的crrs()函数在R中运行分层Fine-Gray模型。当使用cmprsk中的crr()函数运行Fine-Gray模型时,可以使用summary()在输出中获得exp(coef)和置信区间。然而,我发现crrs()的情况并非如此。有人知道如何使用crrs()得到exp(coef)和置信区间吗?
下面是示例代码来演示我的意思:

library(casebase)
library(cmprsk)
library(crrSC)

head(bmtcrr)

covariates <- model.matrix(~bmtcrr$Age)[,-1]

### Fine-Gray model:
fg_mod <- crr(ftime = bmtcrr$ftime, fstatus = bmtcrr$Status, covariates, failcode = 1, cencode = 0)
summary(fg_mod)

### Stratified Fine-Gray model:
fg_mod_strat <- crrs(ftime = bmtcrr$ftime, fstatus = bmtcrr$Status, covariates, strata = bmtcrr$Sex, failcode = 1, cencode = 0, ctype = 1)
summary(fg_mod_strat)
6vl6ewon

6vl6ewon1#

显然没有summary.crrs函数。我检查了crr-objects和crrs-objects中的系数和方差-协方差矩阵的名称是否相同。

> names(fg_mod_strat)
[1] "coef"      "loglik"    "score"     "inf"       "vcov"      "h"         "uftime"    "tfs"       "converged"
> names(fg_mod)
 [1] "coef"        "loglik"      "score"       "inf"         "var"         "res"         "uftime"     
 [8] "bfitj"       "tfs"         "converged"   "call"        "n"           "n.missing"   "loglik.null"
[15] "invinf"

这两个名字是。如果你使用为crr类对象设计的函数,你可以得到合理的输出,尽管有一个错误,这是因为在crrs对象中没有记录缺失的情况:

summary.crr(fg_mod_strat)
# Forcing a function labeled for crr-objects to handle a crrs-object
#---- results to console -----------------------
Competing Risks Regression

        coef exp(coef) se(coef)     z p-value
[1,] -0.0228     0.977   0.0112 -2.03   0.042

     exp(coef) exp(-coef)  2.5% 97.5%
[1,]     0.977       1.02 0.956 0.999

Num. cases =Error in if (x$n.missing > 0) cat(" (", x$n.missing, " cases omitted due to missing values)",  : 
  argument is of length zero

从统计学上看这是否正确,您可以与crrSC的软件包作者讨论。如果这是一种正确的方法,并且可以以与crr对象相同的方式进行合理的解释,那么您可以建议包作者在包的下一次迭代中提供summary.crrs函数。当他们这样做时,他们可以使输出与其他回归函数一致,并将名称更改为coefvcov,这将允许使用confint函数。

相关问题