行列のリスト(すべて同じ列数)を持っているとします。これらの行列を行( '行バインド'、rbind
)ごとに追加/結合すると、単一の行列が得られますか?行列のリストを行ごとに1つの行列に結合する
サンプル:
> rbind(m1, m2)
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 2 2 2
[4,] 2 2 2
[5,] 2 2 2
:
l <- list(m1, m2)
私のような何かを達成したいと思います:
> matrix(1, nrow=2, ncol=3)
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
> matrix(2, nrow=3, ncol=3)
[,1] [,2] [,3]
[1,] 2 2 2
[2,] 2 2 2
[3,] 2 2 2
> m1 <- matrix(1, nrow=2, ncol=3)
> m2 <- matrix(2, nrow=3, ncol=3)
今、我々は我々が2つだけあるとしましょう、リスト内の多くの行列を持つことができます
私は2つの行列で簡単にそれを行うことができますが、行列のリストを使って行う方法はわかりません。
なぜ 'do.call(rbind、l)'は 'rbind(l)'と異なっていますか? – clemlaflemme
@clemlaflemme、rbindの最初の引数は '...'です。これは内部的に入力の 'list'に変換されます。既に 'list'を持っているので、' do.call'が出現する部分を個別に扱う必要があります。 'rbind'を直接使用したいのであれば、代わりに' rbind(l [[1]]、l [[2]]) 'のようなことをしなければなりません。 – A5C1D2H2I1M1N2O1R2T1
@ A5C1D2H2I1M1N2O1R2T1、行列の次元が異なる場合はどうすればいいですか?そして、NAsをフィラーとして追加したいのですが? –