Wells, Brian
2008-Mar-28 17:48 UTC
[R] Defining reference category for a cph model summary inside of a "for" loop
I have the following code.> f <- cph(formula = Surv(TimeToDeath, Dead == "Yes")~1,data=single.dat, x=T, y=T, surv=T)> for(i in c('A', 'B', 'C', 'D', 'E', 'F')){> f <-update(f,as.formula(paste('Surv(TimeToDeath, Dead ="Yes")~',i,sep='')))> print(summary(f, paste(i,"=1st Quartile", sep='')))There is no error message generated in R, but R ignores the reference category defined with paste in the summary function for the cph model. The output uses the "1st Quartile" as the reference category to calculate hazards for some of the variables defined by i, but not all of them. Any help would be greatly appreciated. thanks Brian J. Wells, MD, MS Research Associate Quantitative Health Sciences Cleveland Clinic ================================== P Please consider the environment before printing this e-mail Cleveland Clinic is ranked one of the top hospitals in America by U.S. News & World Report (2007). Visit us online at http://www.clevelandclinic.org for a complete listing of our services, staff and locations. Confidentiality Note: This message is intended for use only by the individual or entity to which it is addressed and may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution or copying of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and destroy the material in its entirety, whether electronic or hard copy. Thank you. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: Dr. Brian J. Wells.vcf Url: https://stat.ethz.ch/pipermail/r-help/attachments/20080328/5bc1fd92/attachment.pl
Frank E Harrell Jr
2008-Mar-29 00:33 UTC
[R] Defining reference category for a cph model summary inside of a "for" loop
Wells, Brian wrote:> I have the following code. > > > > > >> f <- cph(formula = Surv(TimeToDeath, Dead == "Yes") > ~1,data=single.dat, x=T, y=T, surv=T) > >> for(i in c('A', 'B', 'C', 'D', 'E', 'F')){ > >> f <-update(f,as.formula(paste('Surv(TimeToDeath, Dead => "Yes")~',i,sep=''))) > >> print(summary(f, paste(i,"=1st Quartile", sep=''))) > > > > > > There is no error message generated in R, but R ignores the reference > category defined with paste in the summary function for the cph model. > > > > The output uses the "1st Quartile" as the reference category to > calculate hazards for some of the variables defined by i, but not all of > them.Your code is confusing. What is to the right of ~ in a formula is a predictor variable name, not a value. If your variables are named A, B, C, ... you are OK. '1st Quartile' has no special meaning to R or Design, and you can't pass a character string as a second argument to summary and expect it to work. You will need parse(text=paste(...)) to create an appropriate expression. But Design gives you inter-quartile range hazard ratios by default anyway. Beware of getting hazard ratios that are not adjusted for other variables needed in the model. Frank Harrell> > > > > > Any help would be greatly appreciated. > > > > thanks > > > > Brian J. Wells, MD, MS > > Research Associate > > Quantitative Health Sciences > > Cleveland Clinic >-- Frank E Harrell Jr Professor and Chair School of Medicine Department of Biostatistics Vanderbilt University