Thanks David. My code is ok if I did not wrap it up. The problem poped up after i make it as a function. In my step() call, i just make it a little bit more general.
I do not like stepwise method too, but need it as a comparison. samer On Mon, Nov 16, 2009 at 3:03 PM, David Winsemius <dwinsem...@comcast.net>wrote: > > On Nov 16, 2009, at 2:31 PM, shuai yuan wrote: > > Hi, there, >> >> My appologize if someone ask the same question before. I searched the >> mailing list and found one similar post, but not what i want. >> >> The problem for me is, I use the step( glm()....) to do naive forward >> selection for logistic regression. My code is functional >> in the open environment. But if I wrap it up as a function, then R keeps >> saying "object 'a' not found". Actually, data frame >> "a" is inside the function. >> >> I did some search online. i guess the reason may be R did not keep the >> data >> in glm() output after building the model but not sure. >> Can anyone please tell me how to work around this problem? >> >> Thanks a lot in advance. >> >> I am using R 2.9.0. Here is the sample code: >> >> #------------ >> naivelr<-function(x,y){ >> : >> : >> : >> >> a<-data.frame(x) >> >> >> form<-paste("y~1+",paste(grep("X.*",names(a),value=T),collapse="+"),sep="") >> >> if(is.null(force.in)!=T){ >> lowmo<-paste("y~1+",paste(grep("X.*",names(a)[force.in >> ],value=T),collapse="+"),sep="") >> >> } else >> {lowmo<-"y~1"} >> >> lower1<-glm(lowmo,family="binomial",data=data.frame(a,y)) >> upper1<-glm(form,family="binomial",data=data.frame(a,y)) >> > > You are sticking data.frame= a inside another data.frame ???? > > > >> >> >> stepout<-step(lower1,scope=list(lower=lower1,upper=upper1),direction="forward",k=0,trace=100) >> > > Thats not the way I remember "step"-ping. I thought you made a fit and then > "stepped" the formulas (using the same data), rather putting the whole glm > object into a "lower" and an "upper". I could be wrong about that since I > try to avoid using stepwise methods. > > > # here is the error:Start: >> #AIC=689.62 >> #y ~ 1 >> #Error in data.frame(a, y) : object 'a' not found---but "a" is there! >> > > But it's probably not in a form that can be interpreted. Consider adding y > as a column in "a". > > David Winsemius, MD > Heritage Laboratories > West Hartford, CT > > [[alternative HTML version deleted]] ______________________________________________ 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.