该软件包使用核平滑方法从右删失数据中估计风险muhaz
函数。我的问题是,有没有办法获得计算的危险函数的置信区间?muhaz
options(scipen=999)
library(muhaz)
data(ovarian, package="survival")
attach(ovarian)
fit1 <- muhaz(futime, fustat)
plot(fit1, lwd=3, ylim=c(0,0.002))
在上面的示例中,有muhaz.object
fit
一些条目fit1$msemin
,但是它们的长度是 的一半。fit1$var.min
fit1$haz.est
fit1$haz.est
如果可以提取危险函数的置信区间,有什么想法吗?
编辑:我根据@user20650 的建议尝试了以下内容
options(scipen=999)
library(muhaz)
data(ovarian, package="survival")
fit1 <- muhaz(ovarian$futime, ovarian$fustat,min.time=0, max.time=744)
h.df<-data.frame(est=fit1$est.grid, h.orig=fit1$haz.est)
for (i in 1:10000){
d.s.onarian<-ovarian[sample(1:nrow(ovarian), nrow(ovarian), replace = T),]
d.s.muhaz<-muhaz(d.s.onarian$futime, d.s.onarian$fustat, min.time=0, max.time=744 )
h.df<-cbind(h.df, d.s.muhaz$haz.est)
}
h.df$upper.ci<-apply(h.df[,c(-1,-2)], 1, FUN=function(x) quantile(x, probs = 0.975))
h.df$lower.ci<-apply(h.df[,c(-1,-2)], 1, FUN=function(x) quantile(x, probs = 0.025))
plot(h.df$est, h.df$h.orig, type="l", ylim=c(0,0.003), lwd=3)
lines(h.df$est, h.df$upper.ci, lty=3, lwd=3)
lines(h.df$est, h.df$lower.ci, lty=3, lwd=3)
设置 max.time 似乎有效,每个引导样本都有相同的估计网格点。然而,获得的 CI 意义不大。通常我希望间隔在 t=0 时很窄,并且随着时间的推移变得更宽(信息更少,不确定性更多),但获得的间隔似乎或多或少随时间保持不变。