【发布时间】:2012-02-27 10:12:02
【问题描述】:
我正在尝试根据生存数据拟合和绘制 Weibull 模型。该数据只有一个协变量,即从 2006 年到 2010 年的队列。那么,对于绘制 2010 年队列的生存曲线的两行代码添加什么有什么想法吗?
library(survival)
s <- Surv(subSetCdm$dur,subSetCdm$event)
sWei <- survreg(s ~ cohort,dist='weibull',data=subSetCdm)
使用 Cox PH 模型完成相同的操作相当简单,只需以下几行。问题是 survfit() 不接受 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')
使用数据肺(来自生存包),这是我想要完成的任务。
#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')
【问题讨论】:
-
如果你发布了一个完整的例子,我会试着为你弄清楚。我们需要 subSetCdm 对象。试试 dput(subSetCdm)
-
?predict.survreg中有例子。
标签: r plot survival-analysis weibull