在R中的survfit输出中仅绘制两条曲线(不是全部)

时间:2015-08-07 14:30:37

标签: r survival-analysis

我有一组5个组中的协变量(SubType)的生存数据。我设法使用以下方式绘制了5个组:

km.type <- survfit(SurvObj ~ SubType, data = data, conf.type = "log-log")
plot(km.type, mark.time=FALSE)

我想只显示2组而不是所有5组。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以在拟合生存模型之前,期间或之后对数据进行子集化

library('survival')

summary(aml)
# time            status                   x     
# Min.   :  5.00   Min.   :0.0000   Maintained   :11  
# 1st Qu.: 12.50   1st Qu.:1.0000   Nonmaintained:12  
# Median : 23.00   Median :1.0000                     
# Mean   : 29.48   Mean   :0.7826                     
# 3rd Qu.: 33.50   3rd Qu.:1.0000                     
# Max.   :161.00   Max.   :1.0000                    

## before
dd <- aml[aml$x == 'Maintained', ]
fit <- survfit(Surv(time, status) ~ x, data = dd)
plot(fit, conf.int = FALSE)

## during
fit <- survfit(Surv(time, status) ~ x, data = aml, subset = x == 'Maintained')
## or
fit <- survfit(Surv(time, status) ~ x, data = aml[aml$x == 'Maintained', ])
plot(fit, conf.int = FALSE)

## after
fit <- survfit(Surv(time, status) ~ x, data = aml)
plot(fit, col = c('black','transparent'), conf.int = FALSE)

其中col是按顺序排列的每个组的颜色矢量。

所有都是相同的:

enter image description here