[R] problems with for loop

Chuck Cleland ccleland at optonline.net
Tue Jan 16 16:25:44 CET 2007


Jorge Lampurlanes Castel wrote:
> Hello,
> 
> With this program I try to repeat analysis for different years. The
> results of the analysis are not printed when in the loop, except for the
> year sequence. What is wrong?
> 
> Thanks a lot.
> 
> for (i in 92:99){
> 	cat("\n",
> 	"=============================================================\n",
> 	"YEAR =",i,"\n",
> 	"=============================================================\n"
> 	)
> 	canos1 <- subset (canos, canos$YEAR==i)
> 	LinearModel.1 <- lm(MM_P  ~ BLOC  + TIL, data=canos1)
> 	summary(LinearModel.1)
> 	Anova(LinearModel.1, type="II")
> 	Anova(LinearModel.1, type="III")
> 
> }

  You might consider using by() rather than a loop as follows:

library(car)

by(canos, canos$YEAR,
   function(x){fm <- lm(MM_P ~ BLOC + TIL, data=x)
   ans <- list(summary(fm), Anova(fm, type="II"), Anova(fm, type="III"))
   }
)

  The result can be conveniently stored as a list of lists.

-- 
Chuck Cleland, Ph.D.
NDRI, Inc.
71 West 23rd Street, 8th floor
New York, NY 10010
tel: (212) 845-4495 (Tu, Th)
tel: (732) 512-0171 (M, W, F)
fax: (917) 438-0894



More information about the R-help mailing list