[R] generate matrices

David Winsemius dwinsemius at comcast.net
Thu Feb 9 17:59:24 CET 2012


On Feb 9, 2012, at 8:38 AM, Blaz Simcic wrote:

> Dear all,
> I would like to generate 500 matrices of 20 numbers from
> standard normal distribution with names x1,x2,x3,….x500.
> I tried with loop for, but I don’t know how to name matices :
> for (i in 1:500)  {
>    x[[i]] <- matrix(rnorm(20), 4)     }
> Any suggestion?

Don't do it that way. Create an array-object instead.

 > x <- array(NA, dim=c(4,5,500) )
 > x[] <- rnorm(4*5*500)
 > str(x)
  num [1:4, 1:5, 1:500] -0.721 0.896 -1.432 0.386 -1.111 ...
 > dimnames(x)[[3]] <- paste("x", 1:500, sep="")
 > str(x)
  num [1:4, 1:5, 1:500] -0.721 0.896 -1.432 0.386 -1.111 ...
  - attr(*, "dimnames")=List of 3
   ..$ : NULL
   ..$ : NULL
   ..$ : chr [1:500] "x1" "x2" "x3" "x4" ...

-- 
David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list