在 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
是按顺序排列的每个组的颜色向量。
全部相同:
我有一组生存数据,其中一个协变量 (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
是按顺序排列的每个组的颜色向量。
全部相同: