proc plan seed=20121103;       /*指定种子数为20121103，以后可重现结果*/
factors block=40 random rand=6 random;
/*指定区组block为40，每一区组内6例患者，均随机排列*/
output out=a;                  /*将区组及区组内病例输出到数据集a*/
data b;
set a;                         /*用set语句将数据集a中的数据导入b*/
if rand<=3 then group='A';
else group='B';
/*对每一区组内的6例患者，利用if-else语句指定数字1-3分入A组，4-6分入B组*/
num=_n_;
/*产生变量num，其值等于数据的顺序号，也即研究对象的1-240的编号*/
if num<=48 then center='01';
else if num<=96 then center='02';
else if num<=144 then center='03';
else if num<=192 then center='04';
else center='05';
/*指定5个中心分别分配编号为1-48、49-96、97-144、145-192、193-240的患者*/
proc print;
id block;
var center group rand num;     /*列出区组、中心、组别、随机数、药物编号*/
run;
