56

R で行列を操作する場合、それぞれ cbind と rbind を使用して、それらを並べて配置したり、互いの上に積み重ねたりすることができます。他の次元で行列または配列を積み重ねるための同等の関数は何ですか?

たとえば、次の例では、それぞれが 4 つの要素を持つ 2x2 行列のペアを作成します。

x = cbind(1:2,3:4)
y = cbind(5:6,7:8)

それらを 8 つの要素を持つ 2x2x2 配列に結合するコードは何ですか?

4

1 に答える 1

61

abindパッケージを参照してください。3 次元にバインドする場合は、次のようにします。

library(abind)
abind(x, y, along = 3)

見る?abind

また、abindはるかに便利ですが、単純なバインドの場合、デフォルトの順序に基づいて値を直接操作できます。

array(c(x, y), dim = c(2, 2, 2))
于 2010-11-30T05:14:57.590 に答える