簡體   English   中英

R中的單個生存曲線圖

[英]plot of individual survival curves in R

在R中,我將數據庫安排為一個計數過程,以應用擴展的Cox模型(具有隨時間變化的協變量):終點是事件發生時間或審查時間,切點是數據中所有事件發生的時間:

newdatabase <- survSplit(database,cut=eventTimes,
                            end=time_to_event_variable,
                            event=Status,start="start",id="newID")

object<-coxph(Surv(newdatabase$start, newdatabase[time_to_event_variable],
                    newdatabase[Status] ~., 
                    data = newdatabase [c(some_covariates)])

現在我的願望是繪制個體生存曲線(對於個體i):

S_i_cox <- survfit(object,newdata=newdatabase,id=newID)[i] 

我的問題是survFit對象僅描述患者i在其他事件之前的事件時間到患者i的事件時間之前的生存曲線:

換句話說,每個病人的S_i_cox$time and S_i_cox$surv會有所不同,這取決於病人i事件之前發生了多少事件。 例如,具有最低時間事件的患者只能測​​量其生存曲線(在對象S_i_cox )。

如何獲得更多的生存點(並獲得曲線的真實估計)? 我知道我可以將survSplit的切點更改為更多點​​,但其想法是還要預測患者實際終點事件后的個體存活率。

非常感謝Ilan

我記得使用擴展的Cox模型來執行此操作,就像您上面描述的那樣

克萊因鮑姆(Kleinbaum)在他的書中對此進行了解釋:通過將摘要或繪圖功能應用於從函數survfit創建的對象,可以獲得Cox調整后的生存估計和繪圖。 第一步是使用coxph函數運行Cox模型。

調整后的生存曲線通常取決於協變量的模式。 假設我們有興趣繪制模式SEX ='MALE',BLOOD_PRESSURE = 130和TREATMENT = 0的生存曲線。 首先,我們需要使用data.frame函數創建一個數據集(或數據框)並進行一次觀察。 例如:

pattern1=data.frame(SEX='MALE', BLOOD_PRESSURE=130, TREATMENT=0)

這個觀察數據幀稱為pattern1。 要獲得用Cox調整的生存估計值,請在摘要函數中應用survfit函數,如下所示:

summary(survfit(mod1,newdata=pattern1))

survfit函數的第一個參數是使用coxph函數創建的名為mod1的對象。 第二個參數提供包含感興趣的協變量模式(稱為pattern1)的數據框。

要繪制它:

plot(survfit(mod1,newdata=pattern1))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM