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

Plot two curves only (Not all) in survfit output in R

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

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

我只想显示 2 个组而不是所有 5 个组。有什么办法吗?

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

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 是按顺序排列的每个组的颜色向量。

全部相同: