Variable names in model formula
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
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._