Tuesday, 17 November 2009

R tip: Extracting median from survfit object

A colleague wanted to extract the median value from a survival analysis object, which turned out to be a pain as the value is not stored in the object, but calculated on the fly by a print method.

> library(survival)
> fit <- coxph(Surv(time, status) ~ x, data=aml)
> survfit(fit)
Call: survfit(formula = fit)

records n.max n.start events median 0.95LCL 0.95UCL
23 23 23 18 30 18 45

But how do you get the median value? Some googling came up with this link. The answer is rather clunky:

> x <- read.table(textConnection(capture.output(survfit(fit))),skip=2,header=TRUE)
> x$median
[1] 30