行列を一度に1行作成するのは非常に効率的な方法ではありません(行列が展開されているので、メモリの再割り当てが必要になります)。しかし、それは行うことができます。次のおもちゃの例を見てください。
> C = c(0, 0, 1)
> for (n in 1:10) {
+ x <- c(n, 2*n, n+1)
+ C <- rbind(C, x)
+ }
> C
[,1] [,2] [,3]
C 0 0 1
x 1 2 2
x 2 4 3
x 3 6 4
x 4 8 5
x 5 10 6
x 6 12 7
x 7 14 8
x 8 16 9
x 9 18 10
x 10 20 11
Cはベクトルとして開始します。 rbind()を呼び出すたびに、別の行が行列に追加されます。明らかに、新しい行は、既存の行列にある列と同数の列を持たなければなりません。
また、事前割当の問題を回避するためにrbind()を使用する場合は、リスト内のデータを組み立てることができます(再割り当てのペナルティがなく、要素の数を前もって決定する必要もありません)。完了したら行列に変換します。
> C = list()
>
> for (n in 1:10) {
+ C[[n]] <- c(n, 2*n, n+1)
+ }
>
> do.call(rbind, C)
[,1] [,2] [,3]
[1,] 1 2 2
[2,] 2 4 3
[3,] 3 6 4
[4,] 4 8 5
[5,] 5 10 6
[6,] 6 12 7
[7,] 7 14 8
[8,] 8 16 9
[9,] 9 18 10
[10,] 10 20 11
お願いします[再現可能](http://stackoverflow.com)/a/5963610/1315767) –