1

我有一个数据集如下:

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 的记录应该组合在一起并且只返回一组预测?

4

0 回答 0