[英]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.