要判断生成的数据集是否满足正态性,如果不满足正态,重新进入下一个循环:
%macro produce(seed00,miu,sigma2);
前面是种子数据集的过程;
%do nn=1 %to 10;
data data&nn;
set seed&nn;
retain seed;
do j=1 to 30;
x=&miu+normal(seed)*sqrt(&sigma2);
group=1;
output;end;
keep x group;
ods output TestsForNormality=Test&nn(where=(Test="Shapiro-Wilk"));
proc univariate data=data&nn normal;
var x;
run;
data datapb&nn;
set Test&nn;
keep pvalue;
if pvalue<0.05 then leave;
run;
其他过程;
%end;
%mend;
请教我现在用if pvalue<0.05 then leave;都没办法跳出当前的循环,应该怎么样才能使它不满足正态性的话就进入下一循环重新产生新数据集呢?