Loop question
On Fri, Apr 17, 2009 at 10:12 PM, Brendan Morse <morse.brendan at gmail.com> wrote:
...I would like to automatically generate a series of matrices and
give them successive names. Here is what I thought at first:
t1<-matrix(0, nrow=250, ncol=1)
for(i in 1:10){
? ? ? ?t1[i]<-rnorm(250)
}
What I intended was that the loop would create 10 different matrices with a
single column of 250 values randomly selected from a normal distribution,
and that they would be labeled t11, t12, t13, t14 etc.
Very close. But since you've started out with a *matrix* t1, your
assignments to t1[i] will assign to parts of the matrix. To correct
this, all you need to do is initialize t1 as a *list of matrices* or
(even better) as an *empty list*, like this:
t1 <- list()
and then assign to *elements* of the list (using [[ ]] notation), not
to *sublists* of the list (which is what [ ] notation means in R),
like this:
for(i in 1:10){
t1[[i]] <- rnorm(250)
}
Is that what you had in mind?
-s