【问题标题】:Plot censored events in R version 3.3.2在 R 版本 3.3.2 中绘制审查事件
【发布时间】:2025-12-09 04:00:01
【问题描述】:

我正在尝试生成 KM 曲线,并希望像往常一样在图表中显示被审查的事件(如十字或等价物)。

我正在使用上面的 R 版本并更新了包“survival”、“KMsurv”和“rms”。

我尝试了一些网站上显示的代码,但没有成功。

来自http://www.visualcinnamon.com/2013/07/plotting-survival-analysis-results-in-r.html的示例

library(survival)
data(colon)
fit = survfit(Surv(time,status)~rx, data=colon)
plot(fit, xlab="Time", ylab="Survival Probability", main="Kaplan-Meier plot")

我确实生成了一条 KM 曲线,但审查的事件没有以图形方式表示。

我也试过(使用 rms 包):

fit <- npsurv(Surv(time,status)~rx, data=colon)
survplot(fit)

没有任何效果。我错过了什么?

PS:base R 中的 mark.time 有效,但我特别感兴趣的是累积概率图(又名“倒转 KM”),我认为这在 base R 中不容易做到。使用 rms 非常容易使用参数:'fun = function(x) {1 - x}'

【问题讨论】:

  • 对不起,我好像搞砸了如何正确发布代码,所有这些都在一行中加入。我很抱歉。
  • 您是否尝试将参数mark.time 设置为TRUE?它应该会有所帮助...(有关详细信息,请参阅?plot.survfit...)
  • 感谢 Cath,感谢您编辑我的帖子并指出如何使用基本 R 执行此操作。RMS 包中是否有“survplot”函数的等效参数?
  • 有一次我以为你已经勾选了答案。如果您解释为什么它被删除,我或其他人也许能够解决未解决的问题。
  • 您好 42,不确定您的意思。对不起。我无意删除任何答案,它们很有帮助...

标签: r survival-analysis


【解决方案1】:

我猜你是这三个调用中的一个(或多个)(记录在?points.survfit 页面中,该页面又从?plot.survfit 页面链接):

 plot(fit, xlab="Time", ylab="Haz Probability", main="Kaplan-Meier plot",
            fun="cumhaz")  # the cumulative Hazard is 1-Survival
 plot(fit, xlab="Time", ylab="Haz Probability", main="Kaplan-Meier plot",
           fun="cumhaz", conf.int=TRUE)
 plot(fit, xlab="Time", ylab="Haz Probability", main="Kaplan-Meier plot",
            fun="cumhaz", conf.int=TRUE, mark.time=TRUE) # censoring markers

最后一个产生:

【讨论】: