Re: [R] an array of matrices

From: Scott Hyde <hydes_at_byuh.edu>
Date: Mon, 21 May 2007 17:24:45 -1000 (HST)

Thanks for the replies Jim and Petr!

I decided to do it a slightly different way. Using Jim's method, the matrices needed to be created before the array, whereas I needed the array to be allocated first, and then filled. Here's how I did it:

This command creates a blank array of lists

> y=array(list(),c(i,j,k))

Then each item can be accessed (and assigned) using

> y[[i,j,k]]

For example:

> for (i in 1:2)

+   for (j in 1:2)
+     for (k in 1:2)
+       y[[i,j,k]] <- diag(i+j+k)

> y
, , 1

     [,1] [,2]
[1,] Numeric,9 Numeric,16
[2,] Numeric,16 Numeric,25

, , 2

     [,1] [,2]
[1,] Numeric,16 Numeric,25
[2,] Numeric,25 Numeric,36

> y[[1,1,1]]

     [,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1

> y[[2,1,2]]

     [,1] [,2] [,3] [,4] [,5]
[1,] 1 0 0 0 0
[2,] 0 1 0 0 0
[3,] 0 0 1 0 0
[4,] 0 0 0 1 0
[5,] 0 0 0 0 1

Thanks again for the help!

-Scott


R-help_at_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 and provide commented, minimal, self-contained, reproducible code. Received on Tue 22 May 2007 - 03:34:45 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 Tue 22 May 2007 - 05:31:31 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.