3
私は10次元複製を10回繰り返して、3次元配列を作成します。ここで、配列の各スライスは、 2次元配列。だから、2次元マトリックスを複製して3次元配列を作成する(R)
、私の2D配列があることをした場合:
a <- matrix(c(1:4),nrow=2)
> a
[,1] [,2]
[1,] 1 3
[2,] 2 4
私は出力として、このような配列をしたいと思います:
, , 1
[,1] [,2]
[1,] 1 2
[2,] 3 4
, , 2
[,1] [,2]
[1,] 1 2
[2,] 3 4
....
, , 10
[,1] [,2]
[1,] 1 2
[2,] 3 4
私は、このページ(Duplicate matrix to form listを)見てきました、その中にOPは行列をリストに複製しようとしていたので、配列に変換するようになった。
b<-rep(list(a), 10) # from original post
array(unlist(b), dim = c(nrow(b[[1]]), ncol(b[[1]]), length(b))) # line I added
これはうまく動作しますが、ちょっと回り道です。リストを作成せずに1行でこれを行う方法があるのだろうかと思っていました。
私は一緒に複数の行を結合することrbindで行われるようにdo.callの論理を適用することを試みたが、代わりに使用abind -
do.call(abind,as.list(c(a,a,a,a,a,a,a,a,a,a)))
が、出力が一つの長いベクトルであり、そうではありません私が探していたもの
ご協力いただきありがとうございます。
、あなたはあなたに感謝 '配列(、C(、(a)は10薄暗い))'も良いアイデアを –
のリサイクルを活用することを、使用することができます! –