任何人都知道如何利用 ggplot 或 lattice 进行生存分析?做一个格状或类似面的生存图会很好。
所以最后我玩了一下,找到了一个 Kaplan-Meier 情节的解决方案。对于将列表元素放入数据框中的混乱代码,我深表歉意,但我想不出另一种方法。
注意:它只适用于两个层次的层。如果有人知道我可以如何使用x<-length(stratum)
它,请告诉我(在 Stata 中,我可以附加到一个宏,不确定它在 R 中是如何工作的)。
ggkm<-function(time,event,stratum) {
m2s<-Surv(time,as.numeric(event))
fit <- survfit(m2s ~ stratum)
f$time <- fit$time
f$surv <- fit$surv
f$strata <- c(rep(names(fit$strata[1]),fit$strata[1]),
rep(names(fit$strata[2]),fit$strata[2]))
f$upper <- fit$upper
f$lower <- fit$lower
r <- ggplot (f, aes(x=time, y=surv, fill=strata, group=strata))
+geom_line()+geom_ribbon(aes(ymin=lower,ymax=upper),alpha=0.3)
return(r)
}