No.21632 Re: ループでの全生成データ集積方法 【青木繁伸】 2015/04/27(Mon) 06:00
ループの中は,X <- cbind(X, Random) # Xのi列にi番目に生成したデータを格納したいとすればよいでしょう。
このようにして作られるのは行列なので,ループのあとにX <- data.frame(X)とすればデータフレームになります。
なお,cbind を使うのは,大規模なデータを作るにのには不適切なので,前もって大きさが分かっている場合には事前に matrix でメモリを確保しておく方がよいでしょう(Random は確保しなくてもよい)。すなわち,X <- matrix(0, 3, 5)となり,Random を使う必要はないので
for (i in 1:5) {
Random <- rnorm(3, mean=2, sd=1)
X[, i] <- Random
}
X <- data.frame(X)X <- matrix(0, 3, 5)となり,どの列も同じ平均値と標準偏差を持つ乱数でよいのなら,
for (i in 1:5) {
X[, i] <- rnorm(3, mean=2, sd=1)
}
X <- data.frame(X)X <- matrix(rnorm(15, mean=2, sd=1), 3, 5)になり,行列を保存してからデータフレームにする必要もないので,
X <- data.frame(X)X <- data.frame(matrix(rnorm(15, mean=2, sd=1), 3, 5))でよいことになります。
No.21633 Re: ループでの全生成データ集積方法 【赤岳】 2015/04/27(Mon) 09:19
青木先生,できました!
cbindとかmatrixを使うんですね。
自作ではなかなかこういう発想が出てきません。
ありがとうございました。
● 「統計学関連なんでもあり」の過去ログ--- 047 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る