配列の反対角を抽出したい
m=array(1:18,c(3,3,2))
私のベストショット
k=dim(m)[3]
mn=matrix(nrow = k, ncol = 3)
for (i in 1:k){
mn=diag(m[,,i][3:1,1:3])
}
12 14 16
これは、配列の 2 番目の行列の逆対角である を返します。これを達成したい
[1] 3 5 7
[2] 12 14 16
「アンチ診断」を配列として欲しい
手動diag(m[,,1][3:1,1:3])
でdiag(m[,,2][3:1,1:3])
正常に動作しますが、使用している配列はdim(c(3,3,22))
であるため、「ループ!」と思いました。
MQ: ループを使用して配列から逆対角線を抽出する方法は? (より優れたエレガントなソリューションは大歓迎です)