首页 > 解决方案 > R:生存分析广义伽玛参数拟合置信区间计算

问题描述

我正在尝试通过 flexsurv 包(限制平均 t = 365)在生存曲线上拟合广义 gamma 参数函数:

library(dplyr)
library(ggplot2)
library(survival)
library(survminer)
library(survRM2)
library(flexsurv)

DD = c(1:365)
CNSR = rbinom(365, 1, 0.5)
data = as.data.frame(cbind(DD,CNSR))

data$SurvObj <- with(data, Surv(DD, CNSR == 0))
res.ggamma <- tryCatch(flexsurvreg(SurvObj ~ 1, data=data, dist="gengamma"), error = function(e) NA)

然后我尝试找到受限均值以及上下置信区间:

mean.predicted <- round(rmst_gengamma(365, mu = res.ggamma$res[1, 1], sigma = res.ggamma$res[2, 1], Q = res.ggamma$res[3, 1], start = 0)*12/365, 1)
mean.l95 <- round(rmst_gengamma(365, mu = res.ggamma$res[1, 2], sigma = res.ggamma$res[2, 2], Q = res.ggamma$res[3, 1], start = 0)*12/365, 1)
mean.u95 <- round(rmst_gengamma(365, mu = res.ggamma$res[1, 3], sigma = res.ggamma$res[2, 3], Q = res.ggamma$res[3, 1],  start = 0)*12/365, 1)
summary <- paste(mean.predicted, " (", mean.l95, " - ", mean.u95, ")", sep = "")

对于某些具有某些数据集的摘要输出,我得到了一些正常的结果,如下所示:

7.5 (6.3 - 8.2)

但是置信区间的一些输出看起来真的很古怪:

7.7 (9.9 - 2.8) [this one I get from the randomly generated dataset in the code above]

我想知道这里发生了什么?它与形状参数有关吗?任何其他参数拟合函数(exp、gompertz 等)都不会发生这种情况。当我查看生存曲线原始数据时,它看起来很好(所有下限和上限点都包含平均数)。

标签: rsurvival-analysis

解决方案


推荐阅读