我在做一个竞争风险模型,用cph构建模型时,发现构建的cox模型结果与多因素竞争风险分析结果不一致,于是我换用coxph构建模型,多了一步【df_c <- df %>% filter(.,failcode == 1)】,在此之后,cox模型结果和多因素模型结果一致。于是用regplot绘制了列线图,但是我不知如何算每个患者的列线图得分,想请大神帮帮我。以下是我的代码:
library(mstate)
set.seed(1000)
df=crprep("Survival_months","CVD",
data=train,trans=c(1,2),
cens=0,id="id",
keep=c("Age","Marital","Race","Year_of_diagnosis","Grade"))
df$Time=df$Tstop-df$Tstart
library("dplyr")
df_c <- df %>% filter(.,failcode == 1)
m.crr<- coxph(Surv(Time,status==1)~Grade+Year_of_diagnosis+Race+Marital+Age,
data=df_c,
weight=weight.cens,
subset=failcode==1)
c1=summary(m.crr)
traincindex=data.frame(c1$concordance)
traincindex
library(regplot)
nom_c <- regplot(m.crr,
failtime = c(36,60,96), prfail = T, droplines=T,points=T,
plots=c("density","no plot"),
title = "Nomogram")
nom_c
同时我还有一个问题,如果coxph可以用这个代码【df_c <- df %>% filter(.,failcode == 1)】,那cph也可以用吗,或者coxph用的原理是什么?