アレイの1軸だけ取り外す

  • アレイは多軸データ
  • 1つの軸を特別扱いすることにする
  • 特別扱いするには、最終軸にする
  • その上で、その軸以外の軸が作る部分アレイの要素数での繰り上がりで取り出す
d<-c(2,3,4)
a<-array(1:prod(d),d)
a
a[,,1]

for(n in 1:d[length(d)]){
	print("---------")
	print("この方法はdの長さ(軸の数・アレイの深さ)によらずに呼び出せる")
	print(array(a[(prod(d[1:2])*(n-1)+1):(prod(d[1:2])*n)],c(d[1:(length(d)-1)])))
		print("べたに呼び出す")
	print(a[,,n])
}
[1] "---------"
[1] "この方法はdの長さ(軸の数・アレイの深さ)によらずに呼び出せる"
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
[1] "べたに呼び出す"
     [,1] [,2] [,3]
[1,]    1    3    5
[2,]    2    4    6
[1] "---------"
[1] "この方法はdの長さ(軸の数・アレイの深さ)によらずに呼び出せる"
     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12
[1] "べたに呼び出す"
     [,1] [,2] [,3]
[1,]    7    9   11
[2,]    8   10   12
[1] "---------"
[1] "この方法はdの長さ(軸の数・アレイの深さ)によらずに呼び出せる"
     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18
[1] "べたに呼び出す"
     [,1] [,2] [,3]
[1,]   13   15   17
[2,]   14   16   18
[1] "---------"
[1] "この方法はdの長さ(軸の数・アレイの深さ)によらずに呼び出せる"
     [,1] [,2] [,3]
[1,]   19   21   23
[2,]   20   22   24
[1] "べたに呼び出す"
     [,1] [,2] [,3]
[1,]   19   21   23
[2,]   20   22   24