Re: [R] How to access results of survival analysis

From: Heinz Tuechler <>
Date: Sun 07 May 2006 - 20:16:23 EST

Hello Xiaochun Li!

Thank you for submitting the function. At the time I had that problem I solved it in a somewhat different way.
I changed a few lines in the print.survfit method. I introduced a parameter "ret.res=FALSE" set to false to preserve the normal behaviour of print. The second last line "invisible(x)" I changed to:

if (ret.res)



So print.survfit returned the results. Of course, Your method has the advantage to work as long as the output structure of print.survfit does not change. At the end I would prefer the original function to be changed and when I find the time I will submit a worked proposal to Thomas Lumley, the maintainer of the survival package. In that way it would be available also in future versions of survival.



At 10:40 05.05.2006 -0400, you wrote:
>Hi List,
>A friend of mine recently asked the same question as Heinz Tüchler. Since
>I've already written the code I'd like to share with the list.
># x is an object returned by "survfit";
># "smed" returns a matrix of 5 columns of
># n, events, median, 0.95LCL, 0.95UCL.
># The matrix returned has rownames as the
># group labels (eg., treatment arms) if any.
>smed <- function(x) {
> ox <- capture.output(print(x))
> n <- length(ox)
> tmp <- t(sapply(ox[4:n],
> function(l) strsplit(l, split=' +')[[1]]))
> nres <- strsplit(ox[3],split=' +')[[1]][2:6]
> res <- matrix(as.numeric(tmp[,2:6]), ncol=5,
> dimnames=list(tmp[,1], nres))
> res
># example:
>fit1 <- survfit(Surv(time, status) ~ 1, data=aml)
>sf1 <- smed(fit1)
>fit <- survfit(Surv(time, status) ~ x, data=aml)
>sf <- smed(fit)
>Xiaochun Li, Ph.D.
>Research Scientist
>Department of Biostatistics and Computational Biology
>Dana Farber Cancer Institute
>Harvard School of Public Health
>(617) 632 3602
> mailing list PLEASE do read the posting guide! Received on Sun May 07 19:35:28 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Mon 08 May 2006 - 00:09:53 EST.

Mailing list information is available at Please read the posting guide before posting to the list.