2

使用我生成的包survival中的R我这样的 Kaplan-Meiser-object

library(survival)
fit <- survfit(Surv(time, status) ~ ph.ecog + sex, data=lung)

使用print(fit)我得到

> print(fit)
Call: survfit(formula = Surv(time, status) ~ ph.ecog + sex, data = lung)

   1 observation deleted due to missingness 
                 records n.max n.start events median 0.95LCL 0.95UCL
ph.ecog=0, sex=1      36    36      36     28    353     303     558
ph.ecog=0, sex=2      27    27      27      9    705     350      NA
ph.ecog=1, sex=1      71    71      71     54    239     207     363
ph.ecog=1, sex=2      42    42      42     28    450     345     687
ph.ecog=2, sex=1      29    29      29     28    166     105     288
ph.ecog=2, sex=2      21    21      21     16    239     199     444
ph.ecog=3, sex=1       1     1       1      1    118      NA      NA

我现在如何才能访问这个整体生存对象的一部分?就像打印结果只是为了sex=1

当然我可以做类似的事情

fit_sex1 <- survfit(Surv(time, status) ~ ph.ecog + sex, data=lung[lung$sex == 1,])
print(fit_sex1)

但是使用非常大的数据集,多次重新创建生存对象是不利的。

4

1 回答 1

2

您可以使用grep

containsText <- "sex=1"
fit_sex1 <- fit[c(grep(containsText ,names(fit$strata)))]
print(fit_sex1)
于 2013-04-02T09:34:22.540 回答