On Sep 29, 2009, at 3:08 PM, Erik Iverson wrote:
Hello,
I have
srv <- Surv(sample(1:10), sample(0:1, 10, replace = TRUE))
srv
[1] 1 10 2+ 8 6+ 7+ 3 5+ 4+ 9+
srv.char <- as.character(srv)
srv.char
[1] " 1 " "10 " " 2+" " 8 " " 6+" " 7+" " 3 " " 5+" " 4+" " 9+"
Is there an inverse to as.character(srv). That is, I would like
identical(srv, ???(srv.char)) to return TRUE, where ??? is some
unknown function. I don't think it exists, but maybe I'm wrong. I
suppose it would be easy enough to roll my own...
Exactly. as.character strips off all the attributes and adds "+"'s to
the (numeric) times that have status=0 and " "'s (or even "-"'s) to
others:
> str(as.character(srv))
chr [1:10] " 4+" " 2 " " 8 " " 3 " " 6 " " 1 " " 5+" " 7+" "10 " ...
Whereas:
> str(srv)
int [1:10, 1:2] 4+ 2 8 3 6 1 5+ 7+ 10 9+
- attr(*, "dimnames")=List of 2
..$ : NULL
..$ : chr [1:2] "time" "status"
- attr(*, "type")= chr "right"
- attr(*, "units")= chr "Day"
- attr(*, "time.label")= chr "sample(1:10)"
- attr(*, "event.label")= chr "sample(0:1, 10, replace = TRUE)"
> srv[ , 1]
[Day]
[1] 4 2 8 3 6 1 5 7 10 9
> srv[ , 2]
[Day]
[1] 0 1 1 1 1 1 0 0 1 0
> methods(as.character)
Shows that there is an as.character.Surv function
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.