2013-10-14 17 views
7

- 私R.R - 各列に乱数を持つデータフレームを作成します

に新しいが、私は1000個の乱数のこのシミュレーションを持っている:私が欲しいもの

a<-sample(0:1,1000,rep=TRUE) 

は、データフレームであります各列の値はaのように生成されます。例えば

id Column 1 Column2 .........Column 10 
1 1        1 
2 0        1 
3 1    
    0 
    0 
    . 
    . 
1000 1        1 

答えて

16

あなたはreplicateを探しています:あなたはそれをラップせずに同じコマンドを実行すると

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 
1 1 1 0 1 0 0 1 1 1 0 
2 0 0 0 1 0 1 0 0 1 0 
3 0 1 1 1 1 0 1 1 1 1 
4 0 0 0 1 1 1 1 1 1 0 
5 1 0 1 0 1 1 0 1 1 0 
6 0 1 1 1 1 1 0 1 1 1 

data.frame(replicate(10,sample(0:1,1000,rep=TRUE))) 

これらは、トップ数行ですdata.frame()には、マトリックスがあります。行列は処理が速いため、問題に適しているかどうかを調査したい場合があります。

+0

乱数を乱数にする方法は?私は '1000 'を' sample(10:100,1) 'と置き換えようとしていますが、動作しません。 – jangorecki

+1

@jangorecki 'data.frame'呼び出しを削除して、不均一なベクトルのリストを与える必要があります。それでも1つのdata.frameに残したいのであれば、あなたの最善の策は新しい質問をすることだと思います。 'cbind.na'、' rbind.fill'、 'rbindlist(res、fill = TRUE)'の回避策は、すべて迂回しています。ここに役立つかもしれないスレッドがあります:http://r.789695.n4.nabble.com/How-to-join-matrices-of-different-row-length-from-a-list-td3177212.html – Frank

+0

BTW 'data.frame(replicate(col、sample(range、row、rep = TRUE))))' – alvas

5

すべての数値を一度に生成し、行列を使用して列を作成してみませんか?また、あなたはすぐに数字のこれらのタイプを生成するためにrbinomを使用することができます:私はあなたがB/CあなたがRに新しいしている、私はあなたが知らないことを前提と語っを求め、正確に何をしていない

matrix(rbinom(10*1000, 1, .5), ncol=10) 

PSをこの数字を生成する方法。

+0

本当に 'data.frame'を上記のコードの周りに入れたい場合は、 –

+0

+1ではなく10回サンプリングします。あなたはここでn = 10 * 1000を求めます。 – Frank

+1

ああ、フランク私はそれを切り替えるでしょう、ポスターは元々最後の行番号として100を持っていましたが(http://stackoverflow.com/posts/19352267/revisions)、私は投稿後に編集を行っています。 –

関連する問題