On Fri, Oct 19, 2012 at 8:02 PM, Sando <chocosa...@daum.net> wrote: > > Hi everyone!! > > I have dataset composed of a numbers of survival analyses. > ( for batch survival analyses by using for-loop) . > Here are code !! > > ####### > dim(svsv) > Num_t<-dim(svsv) > Num<-Num_t[2] # These are predictors !! > > names=colnames(svsv) > > for (i in 1:Num ) > { > name_tt=names[i] > survdiff(Surv(survival.m, survival) ~ names[i], data=svsv) > fit.Group<-survfit(Surv(survival.m, survival) ~ names[i] , data=svsv) > plot(fit.Group, col=2:1, xlab="Survival", ylab="Prob") > } > > ##### > > names[i] is not working in the survdiff.
That's a problem with how formulas are parsed: you are effectively telling survdiff() that you want names[i] as your predictor variable, when actually you want it as the name of your predictor variable. Using svsv[i] rather than names[i] should work. Or you can insert the value of names[i] into the formula with survdiff(eval(bquote(Surv(survival.m, survival) ~ .(names[i]))), data=svsv) Even after you fix that, there's another problem, which is that your code doesn't actually use the result from survdiff() in any way. -thomas -- Thomas Lumley Professor of Biostatistics University of Auckland ______________________________________________ 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.