0

まったく同じサイズの行列が 3 つあります。それらを同じサイズの1つのマトリックスにマージしたいと思います。

A <- array(0,c(10,20))

マトリックス A の場合。

      [1] [2] [3] .. [20]
 [1]  A11 A12 A13 .. A120 
 [2]
  ..
[10]

マトリックス B の場合。

      [1] [2] [3] .. [20]
 [1]  B11 B12 B13 .. B120 
 [2]
  ..
[10]

マトリックス C の場合。

      [1] [2] [3] .. [20]
 [1]  C11 C12 C13 .. C120 
 [2]
  ..
[10]

私はそれを行う方法がわかりませんが、出力を次のようにしたいと思います:-

出力行列 D;

                    [1]               [2]   ..            [20]
 [1]      (A11,B11,C11)     (A12,B12,C12)  .. (A120,B120,C120) 
 [2]
  ..
[10]   (A101,B101,C101)  (A102,B102,C102) 

コマンドを使用してみましたcbindが、3 つのマトリックスがすべて結合され、行が長くなりすぎます。単一のマトリックス(10x20)と同じサイズが必要です。

4

1 に答える 1

0

おそらく、を使用したいでしょうarray。例えば:

x <- matrix(1:9,3)
y <- matrix(10:18,3)
z <- matrix(19:27,3)

arr <- array(c(x,y,z), dim=c(dim(x),3))
arr[1,1,]
[1]  1 10 19

それを単一の「マトリックス」として表示したい場合は、次を使用できapplyますpaste

apply(arr,1:2,paste,collapse=",")
     [,1]      [,2]      [,3]     
[1,] "1,10,19" "4,13,22" "7,16,25"
[2,] "2,11,20" "5,14,23" "8,17,26"
[3,] "3,12,21" "6,15,24" "9,18,27"
于 2013-11-05T11:29:46.393 に答える