在下面的3维数组中:
ar <- array(someData, c(5, 5, 5));
rownames(ar) <- ...; #to set up row names
colnames(ar) <- ...; #to set up col names
如何设置第三个维度名称?
答案 0 :(得分:28)
您可以在定义数组时设置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")))
和/或您可以设置第三维的dimnames
,如下所示:
dimnames(ar)[[3]] <- c("G", "H", "I")
答案 1 :(得分:3)
仍然从R开始,但是我发现这种方式对于大型多维数组可能有用。
您无需使用每个索引('a','b','c','d',...)的名称,而是可以使用ProvideDimnames()函数按照您所使用的模式自动生成索引名称选择。
创建数据
list_0 = [] #empty, I could add elements later.
list_1 = [] #empty
list_2 = [] #empty
标签尺寸
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'))