Skip to content

fill an array by rows

3 messages · Jim Maas, William Dunlap, David Winsemius

#
I've dug around but not been able to find anything, am probably missing 
something obvious.

How can I fill a three-dimensional (or higher dimension) array by rows 
instead of columns.

eg

new1 <- array(c(1:125), c(5,5,5))

works fine for me but fills it by columns and

new2 <- array(c(1:125), c(5,5,5), byrow=TRUE)

throws an error.

Am I missing something obvious?  I also tried transposing the 3-d array 
but that didn't work either.

TIA

Jim
#
Use aperm on the output of array:
  > aperm(array(1:8, dim=c(2,2,2)), perm=c(2,1,3))
  , , 1
  
       [,1] [,2]
  [1,]    1    2
  [2,]    3    4

  , , 2

       [,1] [,2]
  [1,]    5    6
  [2,]    7    8

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com
#
On Feb 9, 2012, at 12:47 PM, Jim Maas wrote:

            
You might want to look at aperm:

  Perhaps:
new2 <- aperm(new1, c(2,1,3))