我的目标是预测(从下面的拟合模型预测新观察的累积风险)从时间尺度 0 到拟合模型的开始时间的累积风险值。
我已经使用 2 次拟合了 cox 模型(开始时间不等于 0 和结束时间)。因此,我可以找到结束时间的累积风险(即从 0 到结束时间的累积风险,我已经使用相同的拟合模型计算)和开始时间的累积风险(即从 0 到结束时间,我想在这里计算),这最终将给出每次观察的开始时间和结束时间之间的 cum haz。
因此,为了获得我使用的预期事件数量predict(coxph(), newdata, type= "expected")
。
我使用的数据如下:
N <- 10^4 # population
H <- within(data.frame(start_time=runif(N, 0, 50), x1=rnorm(N, 2, 1), x2=rnorm(N, -2, 1)), {
lp <- 0.05*x1 + 0.2*x2
Tm <- qweibull(runif(N,pweibull(start_time,shape = 7.5, scale = 84*exp(-lp/7.5)),1), shape=7.5, scale=84*exp(-lp/7.5))
Cens1 <- 100
event_time <- pmin(Tm,Cens1)
status <- as.numeric(event_time == Tm)})
预测代码是:
H$X <- rep(1,nrow(H))
D = coxph(Surv(start_time, event_time, status) ~ X, data = H, x = TRUE )
pred2 <- predict(D, newdata = data.frame(start_time = rep(0,nrow(H)),event_time = H$start_time, status = rep(0,nrow(H)), X = rep(1, nrow(H))), type = "expected")
但pred2
唯一的结果是“NA”值。有人可以指出我的想法或代码中是否有任何错误
如果需要进一步澄清,请告诉我。