R中的扩展生存图线

时间:2012-03-08 21:06:32

标签: r

我从以下代码中获得了生存图:

    s = Surv(outcome.[,1], outcome.[,2])
    survplot= (survfit(s ~ person.list[,1]))
    plot(survplot, mark.time = FALSE)

person.list只是一个包含15个人的列表。

当我绘制这个时,我的情节上的线条都在不同的时间点结束。有没有办法扩展所有线条以使它们在某个时间点结束? (即结果。[,1]是事件变量的时间,我希望情节上的生存线延伸到5(年))

谢谢, 马特

2 个答案:

答案 0 :(得分:1)

这不是如何做你要求的答案,而是解释为什么你不应该做你所要求的。

线条停在数据停止的位置。超过那个时间,你没有信息来估计生存(这是传统的Kaplan-Meier生存分析,正如你已经设定的那样)。因此,Kaplan-Meier估计在该时间之后没有明确定义,因此扩展该曲线没有任何特定含义。虽然图形上你可以在与上一个生存值相同的水平上绘制一条水平线,但这并没有多大意义。

答案 1 :(得分:1)

这是我刚才在rhelp上发布的类似问题的代码: http://finzi.psych.upenn.edu/Rhelp10/2010-September/253817.html

  ?survfit   # to get a working example since you did not provide one
  lsurv2 <- survfit(Surv(time, status) ~ x, aml, type='fleming')
  plot(lsurv2, lty=2:3, xmax=300)  # drats, no effect of xmax
  str(lsurv2)      # so see the structure of the survfit object
  lsurv2$time[21] <- 300         #add a time value
  lsurv2$n.censor[21] <- 1       # mark as censoring time
  lsurv2$strata[2] <- 11         # add to count of group 2

  plot(lsurv2, lty=2:3, xmax=300)  # horizontal line to 300 for group 2

这是Therneau后来的回应(可能比我的好):http://finzi.psych.upenn.edu/Rhelp10/2010-September/253879.html

plot(surv, mark.time=F, fun='event', xlim=c(0, 54))
  for (i in 1:length(surv$strata)) { #number of curves
     temp <- surv[i]
     lines(c(max(temp$time), 54), 1- rep(min(temp$surv),2))
     }