多因素競(jìng)爭(zhēng)風(fēng)險(xiǎn)模型R如何實(shí)現(xiàn)?
數(shù)據(jù)說明
這里使用survival包(v3.1-12)的mgus2 dataset
hgb 血紅蛋白;
creat 肌酐;
ptime 直至發(fā)展為漿細(xì)胞惡性腫瘤(PCM)或最后一次訪視的時(shí)間(以月為單位);
pstat 出現(xiàn)PCM(漿細(xì)胞惡性腫瘤):0 =否,1 =是;
futime 直到死亡或最后一次接觸的時(shí)間,以月為單位;
death 發(fā)生死亡:0 =否,1 =是;
這里把PCM作為結(jié)局事件,death作為競(jìng)爭(zhēng)事件。
加載包
library("survival")?
library("cmprsk")
預(yù)處理
etime <- with(mgus2, ifelse(pstat==0, futime, ptime))?
event <- with(mgus2, ifelse(pstat==0, 2*death, 1))?
# 0 1 2 labels分別對(duì)應(yīng)("censor", "pcm", "death") event <- factor(event, 0:2)
多因素分析(crr)
01考慮多個(gè)協(xié)變量
x <- mgus2[, c('age', 'hgb', 'creat')]?
fit?<- crr(etime,event,x)
summary(fit)

上述以年齡,血紅蛋白水平,肌酐水平作為協(xié)變量,建立多因素競(jìng)爭(zhēng)風(fēng)險(xiǎn)模型,上圖是模型結(jié)果,血紅蛋白與肌酐的P值均大于0.05,說明對(duì)結(jié)局的影響不顯著。
02 競(jìng)爭(zhēng)風(fēng)險(xiǎn),探討其他結(jié)局
crr函數(shù)默認(rèn)是以1作為結(jié)局事件
如果想要探討協(xié)變量對(duì)競(jìng)爭(zhēng)事件的影響,就需要加上參數(shù)"failcode=2","2"對(duì)應(yīng)競(jìng)爭(zhēng)事件的取值,我們這里2表示death。
fit2<-crr(etime,event,x,failcode = 2)
summary(fit2)

可見age、血紅蛋白、肌酐三個(gè)指標(biāo)P值均小于0.05,系數(shù)兩正一負(fù),為負(fù)的變量“血紅蛋白”意味著較高的值表示發(fā)生death結(jié)局的風(fēng)險(xiǎn)越小,而為正的變量“age”和“肌酐”意味著較高的值表示發(fā)生death結(jié)局的風(fēng)險(xiǎn)越高。
03 預(yù)測(cè)與繪圖
以fit模型為例
predict_crr <- predict.crr(fit, data.frame('age'=60))
plot(predict_crr)
這里是預(yù)測(cè)age為60的患者,在各個(gè)時(shí)間點(diǎn)的事件發(fā)生風(fēng)險(xiǎn)。(可以同時(shí)指定多個(gè)待預(yù)測(cè)患者的屬性,每個(gè)患者一行,列中指標(biāo)順序必須與crr中順序一致?。?/p>