[R] Result depends on previous result; easy with a loop; but without a loop?

From: Roland Rau <roland.rproject_at_gmail.com>
Date: Fri, 14 Dec 2007 12:13:22 -0500


Dear all,

I am pretty sure that this has been discussed before. Unfortunately, I can not find anything in the archives -- probably because I am "RSiteSearching" for the wrong terms. If I remember correctly, I think I even asked this question a few years ago. But I cannot even find this.

The basic problem is that a result depends on a previous result. This is easy with a loop--but how can I do this without a loop?

Lets give an example:

initial.matrix <- rbind(rep(1,4), matrix(0,ncol=4,nrow=5)) the.other.matrix <- matrix(runif(20), ncol=4, nrow=5)

the initial matrix should be filled according to the following (pseudo-code) rule:
if (row==1) initial.matrix[1,] <- 1
if (row>1) initial.matrix[x,] <- initial.matrix[x-1,] * the.other.matrix[x-1,]

as I said this is easy to do with a loop: for (i in 2:(nrow(initial.matrix))) {

   initial.matrix[i,] <- initial.matrix[i-1,]*the.other.matrix[i-1,] }
initial.matrix

But how can I do this without a loop?

Thank you already in advance!
Roland



R-help_at_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. Received on Fri 14 Dec 2007 - 17:35:34 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 14 Dec 2007 - 20:30:19 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.