2016-04-08 7 views
1

私は並べ替えを行うことができるRの関数を探しています。今、私はランダムにこれらの数字の位置を入れ替えたが、ベクターで0と1の同じ数を維持し、取得したいのですが数字の置換位置はRである

> status=c(rep(1,5),rep(0,10)) 
> status 
[1] 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 

:たとえば、私はこのような5 1および10 0のベクトルを持っていますこのような何かを得るために例えば数の新シリーズ、:

1 1 0 1 0 1 0 0 0 0 0 1 0 0 0 

または

1 0 0 0 0 0 0 1 1 0 0 1 0 1 0 

私は機能のサンプルを見つけましたが()をサンプルに私たちを助けることができますが、1と0の数ではありません同じように各時間e。私はRでこれをどうやってやれるのか知っていますか?前もって感謝します。

答えて

2

私たちは、ユニークな要素

colSums(replicate(5, sample(status))) 
#[1] 5 5 5 5 5 

すなわちごとに、同じカウント我々は全体vectorを返すためにsampleを使用する場合、それは置換を行うと、周波数を与えるsample

sample(status) 
#[1] 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 
sample(status) 
#[1] 0 0 0 0 1 1 0 0 1 1 0 0 0 1 0 

を使用することができます私たちはそれぞれのサンプリングに5つを取得します。したがって、残りの0は10になります。

関連する問題