[R] Function update problem
ripley@stats.ox.ac.uk
ripley at stats.ox.ac.uk
Thu Feb 13 11:03:02 CET 2003
You can use substitute: something like (untested)
for(i in 1:100){
form <- substitute(.~.+x[,i], list(i=i))
model <- update(model, form)
## do something useful in here
}
and you do not need to update unchanged arguments!
However, why are you rewriting add1.default, when there is add1.lm?
On Thu, 13 Feb 2003, lun li wrote:
> Dear all,
>
> I am trying an automatic model selection for a multiple linear regression
> using function lm and update. But, I meet a problem when using update. The
> problem is the function update can not update when variables as a vector(for
> example,x is a matrix with 100 regression variables). The code is as below:
>
> > model<-lm(y~x1,singular.ok=T,na.action=na.omit)
> > for(i in 1:100){
> > model<-update(model,.~.+x[,i],singular.ok=T,na.action=na.omit)}
>
> If the above code is represented as below, I can get the correct result.
> However, I must use the loops.
>
> >model<-lm(y~x1,singular.ok=T,na.action=na.omit)
> >model<-update(model,.~.+x[,1],singular.ok=T,na.action=na.omit)
> >model<-update(model,.~.+x[,2],singular.ok=T,na.action=na.omit)
> ......
> >model<-update(model,.~.+x[,100],singular.ok=T,na.action=na.omit)
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-help
mailing list