Sto cercando di adattare e tracciare un modello Weibull su un dato di sopravvivenza. I dati hanno solo una covariata, coorte, che va dal 2006 al 2010. Quindi, qualche idea su cosa aggiungere alle due linee di codice che seguono per tracciare la curva di sopravvivenza della coorte del 2010?Come tracciare la curva di sopravvivenza generata da survreg (sopravvivenza del pacchetto di R)?
library(survival)
s <- Surv(subSetCdm$dur,subSetCdm$event)
sWei <- survreg(s ~ cohort,dist='weibull',data=subSetCdm)
Realizzare lo stesso con il modello Cox PH è piuttosto semplice, con le seguenti linee. Il problema è che survfit() non accetta oggetti di tipo survreg.
sCox <- coxph(s ~ cohort,data=subSetCdm)
cohort <- factor(c(2010),levels=2006:2010)
sfCox <- survfit(sCox,newdata=data.frame(cohort))
plot(sfCox,col='green')
Utilizzando il polmone di dati (dal pacchetto di sopravvivenza), ecco quello che sto cercando di realizzare.
#create a Surv object
s <- with(lung,Surv(time,status))
#plot kaplan-meier estimate, per sex
fKM <- survfit(s ~ sex,data=lung)
plot(fKM)
#plot Cox PH survival curves, per sex
sCox <- coxph(s ~ as.factor(sex),data=lung)
lines(survfit(sCox,newdata=data.frame(sex=1)),col='green')
lines(survfit(sCox,newdata=data.frame(sex=2)),col='green')
#plot weibull survival curves, per sex, DOES NOT RUN
sWei <- survreg(s ~ as.factor(sex),dist='weibull',data=lung)
lines(survfit(sWei,newdata=data.frame(sex=1)),col='red')
lines(survfit(sWei,newdata=data.frame(sex=2)),col='red')
Vorrei provare a capirlo per te se hai pubblicato un esempio completo. Abbiamo bisogno dell'oggetto subSetCdm. prova dput (subSetCdm) –
Esistono degli esempi in '? predicict.survreg'. –