|
|
5#

楼主 |
发表于 2009-7-10 08:43:59
|
只看该作者
Re: 求助:在循环中改变random seed
麻烦你来看看我这段代码吧:
data T01_data;
infile cards;
input group id x y z;
cards;
1 11 3 8 9
1 12 4 10 16
2 21 1 5 6
2 22 2 7 7
2 23 5 6 12
3 31 8 6 7
3 32 9 4 3
4 41 2 8 11
4 42 3 4 5
4 43 5 3 4
4 44 6 7 10
5 51 4 3 2
5 52 3 4 9
;
run;
%Macro Boot2Level;
%let Nseed = 123;
%do i=1 %to 5;
proc sql;
create table T02_groups as
select group, count(*) as count
from T01_data
group by 1;
quit;
proc print data=T02_groups;
run;
proc surveyselect data=T02_groups
out=T03_sample(rename=(count=_NSIZE_) drop=numberHits)
sampsize=5 method=urs seed = &Nseed outhits;
run;
proc print data=T03_sample;
run;
data T04_newGroup;
set T03_sample;
newGroup+1;
run;
proc print data=T04_newgroup;
run;
proc sql;
create table T05_data as
select A.*, B.newGroup
from T01_data A, T04_newGroup B
where A.group=B.group
order by group, newGroup;
quit;
proc surveyselect data=T05_data
sampsize=T04_newGroup method=urs outhits
out=T06_sample_sample seed = &Nseed;
strata group newGroup;
run;
proc sort data=T06_sample_sample;
by Newgroup ID;
Proc print data=T06_sample_sample;
run;
%let Nseed=&Nseed+1;
%end;
%Mend;
%Boot2Level;
就是把一个resample的程序循环了5遍,为了能够重复因此想自己设定seed,总是报错...
麻烦大家给提点建议,谢谢! |
|