Arrays R中的三维数组名

Arrays R中的三维数组名,arrays,r,names,Arrays,R,Names,在下面的三维数组中: ar <- array(someData, c(5, 5, 5)); rownames(ar) <- ...; #to set up row names colnames(ar) <- ...; #to set up col names ar您可以在定义数组时设置dimnames参数: ar <- array(data = 1:27, dim = c(3, 3, 3), di

在下面的三维数组中:

ar <- array(someData, c(5, 5, 5));  
rownames(ar) <- ...;  #to set up row names
colnames(ar) <- ...;  #to set up col names

ar您可以在定义数组时设置
dimnames
参数:

ar <- array(data     = 1:27,
            dim      = c(3, 3, 3),
            dimnames = list(c("a", "b", "c"),
                            c("d", "e", "f"),
                            c("g", "h", "i")))

仍然从R开始,但我发现这种方法可能对大型多维数组有用

您可以使用provideDimnames()函数按照您选择的模式自动生成索引名,而不是命名每个索引('a'、'b'、'c'、'd'、…)

创建数据

ar <- array (data = 1:(4*3*2) , dim=c(4,3,2))
> ar
, , 1

     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12

, , 2

     [,1] [,2] [,3]
[1,]   13   17   21
[2,]   14   18   22
[3,]   15   19   23
[4,]   16   20   24

array
有一个
dimnames
参数,如果您查看文档的话。此外,还有一个更通用的
dimnames()
函数。
ar <- array (data = 1:(4*3*2) , dim=c(4,3,2))
> ar
, , 1

     [,1] [,2] [,3]
[1,]    1    5    9
[2,]    2    6   10
[3,]    3    7   11
[4,]    4    8   12

, , 2

     [,1] [,2] [,3]
[1,]   13   17   21
[2,]   14   18   22
[3,]   15   19   23
[4,]   16   20   24
ar <- provideDimnames(ar , sep = "_", base = list('row','col','lev'))
> ar
, , lev

      col col_1 col_2
row     1     5     9
row_1   2     6    10
row_2   3     7    11
row_3   4     8    12

, , lev_1

      col col_1 col_2
row    13    17    21
row_1  14    18    22
row_2  15    19    23
row_3  16    20    24