R 中现有数组的命名维度

Gig*_*aur -1 naming r multidimensional-array

我有一个现有的数组,我想命名这个数组的维度。我不能使用dimnames=of的参数,array()因为我需要用不同的函数制作这个数组。我需要使用类似于此的内容重命名维度names(my.array)<-my.names

感谢您的帮助(如果您还不知道,我是新手)

Fer*_*aft 5

使用dimnames(x) <- list(d1names, d2names, ...)地方d1namesd2names等是特征向量其长度符合你的尺寸的长度。

如果您的数组是二维的(矩阵),您可以使用rownames(x) <- d1namesandcolnames(x) <- d2names代替。

例子:

> A <- outer(outer(1:3,1:4),1:2)
> A
, , 1

     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    2    4    6    8
[3,]    3    6    9   12

, , 2

     [,1] [,2] [,3] [,4]
[1,]    2    4    6    8
[2,]    4    8   12   16
[3,]    6   12   18   24

> dimnames(A)
NULL
> dimnames(A) <- list(LETTERS[1:3],LETTERS[1:4],LETTERS[1:2])
> A
, , A

  A B C  D
A 1 2 3  4
B 2 4 6  8
C 3 6 9 12

, , B

  A  B  C  D
A 2  4  6  8
B 4  8 12 16
C 6 12 18 24
Run Code Online (Sandbox Code Playgroud)

矩阵示例:

> B <- matrix(1:12,3,4)
> B
     [,1] [,2] [,3] [,4]
[1,]    1    4    7   10
[2,]    2    5    8   11
[3,]    3    6    9   12
> rownames(B) <- letters[1:3]
> B
  [,1] [,2] [,3] [,4]
a    1    4    7   10
b    2    5    8   11
c    3    6    9   12
> colnames(B) <- LETTERS[1:4]
> B
  A B C  D
a 1 4 7 10
b 2 5 8 11
c 3 6 9 12
Run Code Online (Sandbox Code Playgroud)

  • @RNA `dimnames(A)[[1]] &lt;- xxx` 和 `dimnames(A)[[3]] &lt;- yyy`。 (2认同)