描述
数组换位
通过排列数组的维数和可选地调整其大小来置换数组。
用法
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, ...)
参数
a:要转置的数组。
perm:下标置换向量,通常是整数1:n的置换,其中n是a的维数。当a有命名的dimnames时,它可以是长度为n的字符向量,给出这些名称的置换。
缺省情况下(当烫发长度为零时使用)是颠倒维度的顺序。
resize:一个标志,指示是否应该调整向量的大小以及重新排列其元素(默认为TRUE)。
keep.class:表示结果是否与a属于同一类的逻辑。
...:方法的潜在的进一步参数。
值
数组A的转置版本,按数组perm指定的顺序排列下标。如果resize为TRUE,则重新排列数组,并排列其元素,也排列其dimnames;如果resize = FALSE则返回的对象具有与a相同的维度,并删除dimnames。在每种情况下,其他属性都是来自a。
函数t提供了一种更快、更方便的矩阵转置方法。
例子
# 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
x <- array(1:24, 2:4) #创建维度为(2,3,4)的数组
xt <- aperm(x, c(2,1,3))#c(2,1,3)指把第一个维度和第二个维度换位置顺序,也就是要访问xt的元素,需要这样的三个下标:xt[3][2][4]。