Re: [R] calling objects in a foreloop

From: Thomas Lumley <>
Date: Tue 15 Mar 2005 - 08:35:08 EST

On Mon, 14 Mar 2005, Benjamin M. Osborne wrote:

> I want to organize outputs from several regressions into a handy table. When I
> try the following, each of my "fit_s" is replaces instead of read. Is there a
> way to read from the regression summaries that does not require writing
> separate lines of code for each?

Put the lm objects into a list rather than into separate variables, then you can loop or lapply() over the list.

fits[[1]]<-lm(dBA.spp16$sp2.dBA.ha~dBA.spp16$sp1.dBA.ha) fits[[2]]<-lm(dBA.spp16$sp3.dBA.ha~dBA.spp16$sp1.dBA.ha) etc

dBA.spp16.fits<-matrix(NA, nrow=8, ncol=5) for (i in 1:8){


Other things to note

1/ You can't put the formula into a numeric matrix 2/ lm(dBA.spp16$sp2.dBA.ha~dBA.spp16$sp1.dBA.ha) can be more elegantly written as

    lm(sp2.dBA.ha~sp1.DB.ha, data=dBA.spp16)

When you find yourself doing computations on the names of objects rather than on their values it is usually a bad sign.

         -thomas mailing list PLEASE do read the posting guide! Received on Tue Mar 15 08:41:08 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:30:47 EST