2016-08-10 11 views
1

m個の別個の番号(1〜m)をn個のビン(m >> n)に割り当てる効率的な方法を探しています。ランダムにm個のn個のビンを割り当てます

私が必要とするのは、1, 3, 5または19, 15, 2です。それは、m個の数字から置き換えずにサンプリングするように見えます。

現在、n行のサブセットをm行にサブセットして転記します。しかし、どうすればすぐにそのようなサンプルをk生成できますか?最終出力は

2,5,9 
12,2,10 
5,2,4 
9,2,1 

(サンプルサイズk=4m=20,n=3所与)、出力サンプルで生成重複を回避する方法があるべきか?

答えて

1

重複したくない場合は、mからn * kのサンプルをn個ずつk個のグループに尋ねているようです。

%let m=20; 
%let n=3; 
%let k=4; 
proc plan; 
    factors m=%eval(&n*&k) of &m random n=1 of &n cyclic; 
    output out=sample; 
    quit; 
data sampleV/view=sampleV; 
    set sample; 
    if n eq 1 then k+1; 
    run; 
proc transpose data=sampleV out=sample2(drop=_:) prefix=n; 
    by k; 
    var m; 
    id n; 
    run; 
関連する問題