aperm {base} | R Documentation |

## 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 |

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

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

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

*base*version 4.4.1 Index]