Roland: Andy Liaw and others have already given perfectly good answers to this (but note: Using apply() type functions does **not** avoid loops; apply's **are** loops). However, mostly as an illustration to reinforce Uwe Ligges's comments (in the "dim vs length" thread) about the usefulness of sometimes treating arrays as vectors, I offer the following:
nc<-ncol(yourmatrix) matrix(yourmatrix[,1]*rep(k^seq(0,length=nc),e=nrow(yourmatrix)),ncol=nc) Alteratively, one could use matrix multiplication: yourmatrix[,1]%*%matrix(k^seq(0,length=nc),nrow=1) Both of these will be very fast (although unlikely to make a noticeable difference without a lot of rows or columns) and I think use less memory than outer() (again, unlikely to make a noticeable difference). -- Bert Gunter Genentech Non-Clinical Statistics South San Francisco, CA > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Rau, Roland > Sent: Friday, January 21, 2005 4:32 AM > To: r-help@stat.math.ethz.ch > Subject: [R] Avoiding a Loop? > > Dear R-Helpers, > > I have a matrix where the first column is known. The second column is > the result of multiplying this first column with a constant > "const". The > third column is the result of multiplying the second column with > "const"..... > So far, I did it like this (as a simplified example): > > nr.of.columns <- 4 > > myconstant <- 27.5 > > mymatrix <- matrix(numeric(0), nrow=5, ncol=nr.of.columns) > > mymatrix[,1] <- 1:5 > > for (i in 2:nr.of.columns) { > mymatrix[,i] <- myconstant * mymatrix[,i-1] > } > > > Can anyone give me some advice whether it is possible to > avoid this loop > (and if yes: how)? > > Any suggestions are welcome! > > Thanks, > Roland > > > > > +++++ > This mail has been sent through the MPI for Demographic > Rese...{{dropped}} > > ______________________________________________ > R-help@stat.math.ethz.ch mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide! > http://www.R-project.org/posting-guide.html > ______________________________________________ R-help@stat.math.ethz.ch mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html