我正在尝试将Weibull模型拟合并绘制成生存数据.该数据只有一个协变量,同期,从2006年到2010年.所以,任何关于如何添加到两行代码的想法,以绘制2010年队列的生存曲线?
library(survival)
s <- Surv(subSetCdm$dur,subSetCdm$event)
sWei <- survreg(s ~ cohort,dist='weibull',data=subSetCdm)
Run Code Online (Sandbox Code Playgroud)
使用Cox PH模型完成相同操作非常简单,具有以下几行.问题是survfit()不接受类型为幸存的对象.
sCox <- coxph(s ~ cohort,data=subSetCdm)
cohort <- factor(c(2010),levels=2006:2010)
sfCox <- survfit(sCox,newdata=data.frame(cohort))
plot(sfCox,col='green')
Run Code Online (Sandbox Code Playgroud)
使用数据肺(来自生存包),这是我想要完成的.
#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')
Run Code Online (Sandbox Code Playgroud) 给定一个相同(用户指定)对象的 numpy 数组结构,有没有办法一次引用所有这些对象?
例如,给定一个日期类型对象的 numpy 数组结构,有没有办法在不求助于 for 循环或 +1 到数组中每个对象的 year 属性的情况下获取年份的平均值?
示例代码如下。
from numpy import *
from datetime import *
#this works
A = array([2012, 2011, 2009])
print average(A)
date1 = date(2012,06,30)
date2 = date(2011,06,30)
date3 = date(2010,06,30)
B = array([date1, date2, date3])
print B[0].year
print B[1].year
print B[2].year
#this doesn't
print average(B.year)
Run Code Online (Sandbox Code Playgroud)