[R] Variable names in model formula
Thomas Lumley
thomas at biostat.washington.edu
Tue May 2 17:16:17 CEST 2000
On Tue, 2 May 2000, Bill Venables wrote:
> At 10:37 PM 5/1/00 -0400, E. S. Venkatraman wrote:
> >I have the following problem. I have survival data (time, status) along
> >with several covariates (X1, X2,..., Xn). I want to fit a Cox model for
> >each of the covariate (univariately) and obtain the fitted probability of
> >survival at a fixed time point t0 and covariate value Xi0. I tried to do
> >this in a for loop where the index is the variable name as follows
> >
> >covnames <- names(...)
> >for (covi in covnames) {
> > survout <- coxph(Surv(time,status) ~ covi, data = dataname)
> > print(summary(survfit(survout,newdata),t0))
> >}
>
> You could try
>
> covnames <- names(...)
> form <- Surv(time, status) ~ dummy
> for(nam in covnames) {
> form[[3]] <- as.name(nam)
> survout <- coxph(form, data = dataname)
> print(summary(survfit(survout, newdata), t0))
> }
A related idea, which doesn't require you to know the structure of formula
object, but will be slower, is
covnames <- names(...)
for(nam in covnames) {
form<-substitute(Surv(time,status)~dummy,list(dummy=nam))
survout<-coxph(form,data=dataname)
print(summary(survfit(survout, newdata), t0))
}
This method also works if you want to loop over different time and status
variables.
-thomas
Thomas Lumley
Assistant Professor, Biostatistics
University of Washington, Seattle
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._
More information about the R-help
mailing list