随机将m数分配给n个bin

时间:2016-08-10 15:12:44

标签: sas

我正在寻找一种有效的方法来将m个不同的数字(1到m)分配给n个b(m>> n)。

假设m = 20,n = 3,我需要的是$ awk '{ORS=(NR%3?FS:RS); print $1} END{if (NR%3) printf "%s", RS}' file | column -t apropos awk chsh date grep i3 ip6tables 1, 3, 5。它看起来像没有替换m号的采样。

目前,我使用19, 15, 2来汇总proc surveyselect行中的n行,然后对其进行转置。但是,如何快速生成m个样本呢?最终输出应该是(给定k,样本大小为m=20,n=3

k=4

有没有办法避免在输出样本中生成重复项?

1 个答案:

答案 0 :(得分: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;