[R] Surv object in data.frame
Robert Baer
rbaer at atsu.edu
Wed Mar 15 18:59:23 CET 2006
This does work:
coxph(survobj~group, data=df.test[[1]]) # this works like your original
To get insight compare:
str(survobj)
str(df.test)
str(df.test[[1]])
Then note the 2nd sentence of the following from ?coxph
Arguments:
formula: a formula object, with the response on the left of a '~'
operator, and the terms on the right. The response must be a
survival object as returned by the 'Surv' function.
____________________________
Robert W. Baer, Ph.D.
Associate Professor
Department of Physiology
A. T. Still University of Health Science
800 W. Jefferson St.
Kirksville, MO 63501-1497 USA
Dear All,
a Surv object I put in a data frame behaves somehow unexpected (see
example).
If I do a Cox regression on the original Surv object it works. If I put it
in a data.frame and do the regression on the data frame it does not work.
Seemingly it has to do with the class attribute, because if I change the
class attribute to let "Surv" appeare first, again it works.
Is this known? Should I have found information on it?
Any comments?
Thanks
Heinz Tüchler
## example data
starttime <- rep(0,5)
stoptime <- 1:5
event <- c(1,0,1,1,1)
group <- c(1,1,1,2,2)
## Surv object
survobj <- Surv(starttime, stoptime, event)
## Cox-regression
coxph(survobj~group) # this works
## put Surv object in data.frame
df.test <- data.frame(survobj=I(survobj), group)
## Cox-regression on data.frame
coxph(survobj~group, data=df.test) # this does not work
attr(df.test$survobj, 'class') # survobject has class "AsIs", "Surv"
attr(df.test$survobj, 'class') <- c('Surv', 'AsIs') # put Surv first
attr(df.test$survobj, 'class') # survobject has class "Surv", "AsIs"
coxph(survobj~group, data=df.test) # now it works
______________________________________________
R-help at stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide!
http://www.R-project.org/posting-guide.html
More information about the R-help
mailing list