R Software & R Language > Manual > **Text**

# aperm

Update: 01/02/2014

**aperm **Array Transposition

Description

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

Usage

aperm(a, perm, ...)

## Default S3 method:

aperm(a, perm = NULL, resize = TRUE, ...)

## S3 method for class table

aperm(a, perm = NULL, resize = TRUE, keep.class = TRUE, ...)

Arguments

a | the array to be transposed. |

perm | the subscript permutation vector, usually a permutation of the integers 1:n, where n is the number of dimensions of a. When a has named dimnames, itcan be a character vector of length n giving a permutation of those names. Thedefault (used whenever perm has zero length) is to reverse the order of the di-mensions. |

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

keep.class | logical indicating if the result should be of the same class as a. |

... | potential further arguments of methods. |

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 alsopermuted; if resize = FALSE then the returned object has the same dimensions as a, and thedimnames 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,

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]) UCB <- aperm(UCBAdmissions, c(2,1,3)) UCB[1,,] summary(UCB) # UCB is still a continency table