以下の3次元配列では:
ar <- array(someData, c(5, 5, 5));
rownames(ar) <- ...; #to set up row names
colnames(ar) <- ...; #to set up col names
3番目のディメンション名を設定するにはどうすればよいですか?
配列を定義するときに、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")))
または、次のように3次元のdimnames
を設定できます。
dimnames(ar)[[3]] <- c("G", "H", "I")
まだRで始まっていますが、この方法は大規模な多次元配列に役立つ可能性があることを発見しました。
各インデックスに名前を付ける代わりに( 'a'、 'b'、 'c'、 'd'、...)、provideDimnames()関数を使用して、選択したパターンに従ってインデックス名を自動生成できます。
データを作成する
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