问题描述
是否有一个内置函数在生存程序包中生成风险表?我想按时间间隔报告“风险中的数量”,“事件数量”和“审查者数量”。如果不可用,有没有办法有效地生产这张桌子?我看过其他具有某些内置功能的软件包,但更喜欢使用生存软件包。
解决方法
据我所知,survival
软件包中没有没有内置函数可以生成风险表,但是您可以编写一个简单的函数来生成它。以下是使用survival
包中的 veteran 数据的示例代码,用于带有风险集的Kaplan-Meier图
library(survival)
data(veteran)
RiskSetCount <- function(timeindex,survivaltime) {
atrisk <- NULL
for (t in timeindex)
atrisk <- c(atrisk,sum(survivaltime >= t))
return(atrisk)
}
fit <- survfit(Surv(time,status) ~ trt,data=veteran)
par(mfrow=c(1,1),mar = c(7,6,2,2)) # defining plot parameters
plot(fit,xlab="Time",ylab="Survival probability",lwd=2,mark.time=T,col=c(1,2),xlim=c(0,500))
legend("topright",legend=c("Control","Intervention"))
mtext("Risk set:",1,line=4,at=-90)
grid <- seq(0,500,by=100)
mtext(RiskSetCount(grid,veteran$time[veteran$trt==1]),side=1,at=grid)
mtext(RiskSetCount(grid,veteran$time[veteran$trt==2]),line=5,at=grid)
这是K-M图,
您可以在程序中添加更多计数,例如事件数,审查观察数等。