我有一个数据集如下:
Patient_ID Time_Start Time_End X1 X2 X3 Status
001 0 1 0
001 1 2 0
001 2 3 0
001 3 4 0
002 0 1 0
002 1 2 0
002 2 3 0
002 3 4 1
其中X3是一个与时间相关的变量。
我构建了一个cox回归模型如下:
model.cox=coxph(Surv(Time_Start, Time_End, Status)~X1+X2+X3+CLUSTER(ID), data=mydata)
获得模型后,我使用库“pec”中的predictSurvProb()来预测每个患者在每个时间点的生存概率:
predicted.surv.prob=predictSurvProb(model.cox, newdata=mydataset, times=seq(1:4))
但是,该函数返回如下数据帧,其中每个记录在第1和第4个月之间都有自己的生存概率:
Patient_ID Time_Start Time_End Month1 Month2 Month3 Month4
001 0 1 0.99 0.98 0.97 0.96
001 1 2 0.985 0.976 0.968 0.965
001 2 3 .......................
001 3 4 .........................
002 0 1 ........................
002 1 2 ........................
002 2 3 ..........................
002 3 4
显然,结果没有意义。患者001具有四组预测概率,每一组与其他概率不同。
如何添加一些东西让predictSurvProb()知道所有具有相同ID的记录应该组合在一起并且只返回一组预测?