p403
%macro counts (cols=_all_,rows=,dsn=all);
proc freq data=&dsn;
tables
%if &rows ne /*这里为什么要用NE, 用NE为什么后面没有值? */ %then &rows * ;
&cols;
run;
%mend counts;
%counts(dsn=all,cols=paid,rows=course_number)
还有一个随机抽样的data &dsout(drop=SampleSize ObsLeft);
SampleSize=&SampleSize;
ObsLeft=TotObs;
do while(SampleSize>0and ObsLeft>0) ;
PickIt+1;
if ranuni(123)<SampleSize/ObsLeft /*这里samplesize/obsleft是什么意思呀?好纠结!*/ then
do;
ObsPicked=PickIt;
set &dsin point=PickIt nobs=TotObs;
output;
SampleSize=SampleSize-1;
end;
ObsLeft=ObsLeft-1;
end;
stop;
run;
多谢多谢!!