我正在尝试在R中创建一个美观的生存图。是否可以向使用 ggsurvplot()函数创建的生存图添加一条垂直线?我想以这种方式显示时间阈值。
我已经尝试使用 abline()函数,如下面的代码所示。
surv_object <- Surv(time = data1$survive_time)
fit1 <- survfit(surv_object~sex,data = data1)
ggsurvplot(fit1, data = data1, pval = TRUE, xlab="Time [days]", risk.table="percentage",surv.median.line="hv")
abline(v=200)
但是它给了我以下错误:
Error in int_abline(a = a, b = b, h = h, v = v, untf = untf, ...): plot.new has not been called yet
Traceback:
1. abline(v = 120)
2. int_abline(a = a, b = b, h = h, v = v, untf = untf, ...)
有什么办法可以在生存图上添加这样一条线吗?为什么不将其识别为情节?
答案 0 :(得分:0)
ggsurvplot是ggplot2的扩展,因此,如果要向绘图中添加任何内容,则需要使用ggplot函数以获得最佳结果。唯一令人讨厌的挂断是ggsurvplots被存储为其中具有多个项目的对象(包括ggplot,称为plot)。一旦知道,将垂直线添加到ggsurvplot很容易:
yoursurvplot<-ggsurvplot(fit1, data = data1, pval = TRUE, xlab="Time [days]", risk.table="percentage",surv.median.line="hv")
yoursurvplot$plot + geom_vline(xintercept = 200)
当我在比较两个癌症人群的5年生存期时增加一条垂直线时,这对我有用。