[R] generate matrices

Bert Gunter gunter.berton at gene.com
Thu Feb 9 18:51:42 CET 2012


Inline below.

-- Bert

On Thu, Feb 9, 2012 at 8:59 AM, David Winsemius <dwinsemius at comcast.net> wrote:
>
> 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)

Inefficient. Do it in one go:

x <- array(rnorm(20*500), dim = c(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
>
> ______________________________________________
> 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.



-- 

Bert Gunter
Genentech Nonclinical Biostatistics

Internal Contact Info:
Phone: 467-7374
Website:
http://pharmadevelopment.roche.com/index/pdb/pdb-functional-groups/pdb-biostatistics/pdb-ncb-home.htm



More information about the R-help mailing list