aperm                  package:base                  R Documentation

Array Transposition

Description:

     Transpose an array by permuting its dimensions and optionally
     resizing it.

Usage:

     aperm(a, perm, resize = TRUE)

Arguments:

       a: the array to be transposed.

    perm: the subscript permutation vector, which must be a permutation
          of the integers '1:n', where 'n' is the number of dimensions
          of 'a'.  The default is to reverse the order of the
          dimensions.

  resize: a flag indicating whether the vector should be resized as
          well as having its elements reordered (default 'TRUE').

Value:

     A transposed version of array 'a', with subscripts permuted as
     indicated by the array 'perm'.  If 'resize' is 'TRUE', the array
     is reshaped as well as having its elements permuted, the
     'dimnames' are also permuted; if 'resize = FALSE' then the
     returned object has the same dimensions as 'a', and the dimnames
     are dropped.  In each case other attributes are copied from 'a'.

     The function 't' provides a faster and more convenient way of
     transposing matrices.

Author(s):

     Jonathan Rougier, J.C.Rougier@durham.ac.uk did the faster C
     implementation.

References:

     Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) _The New S
     Language_. Wadsworth & Brooks/Cole.

See Also:

     't', to transpose matrices.

Examples:

     # interchange the first two subscripts on a 3-way array x
     x  <- array(1:24, 2:4)
     xt <- aperm(x, c(2,1,3))
     stopifnot(t(xt[,,2]) == x[,,2],
               t(xt[,,3]) == x[,,3],
               t(xt[,,4]) == x[,,4])

