2017-01-25 24 views
4

ランダムな順序で数字1-length(Matrix$Index)をループするforループを作りたいと思います。すべての番号は1度しか訪問できないことに注意してください。Rのランダム反復ループ

どうすればこの問題を解決できますか?

+4

'sample' – Sotos

+1

'サンプル(1を探します:?何らかの理由であなたがループを適用したい場合は、単にような何かしてみてください(1-長(マトリックス$インデックス))、サイズ= 1を、交換してください= FALSE) ' –

答えて

3

for (i in sample(c(1:length(Matrix$Index))))これを達成します。

set.seed()でシードを変更することで、さまざまなサンプルを実現できます。サンプルごとに特定のシードを設定すると、再現性が得られます。

+1

私が試してみると、リピートが生成されます。 –

+1

作品!ありがとう、友達。 –

+0

喜んで助けてください。あなたが満足しているなら、あなたは "答えを受け入れる"ボタンをチェックしたいかもしれません:) – LAP

0

私は完全にあなたの質問を理解していないが、私はあなたがしてR組み込み関数sample()、使用したい場合は、あなたのベクトルに交換することなく、リサンプリングのI種類を実行しようと思います:

n<-10 
x<-rnorm(n) 
resampled<-sample(x,length(x),replace=F) 

N(0,1)分布からシミュレートされたデータ(x)を使用しています。

resampled<-numeric(n) 

for(i in 1:n){ 
       a<-sample(1:n,1) 
       resampled[i]<-x[a] 
       x<-x[-a] 
       n<-n-1 
       }