- /*产生总体A*/
- data a;
- do i=1 to 10000;
- x=0+1*rannor(0);
- group=0;
- output;
- end;
- drop i;
- run;
- /*产生总体B*/
- data b;
- do i=1 to 10000;
- x=0+1*rannor(0);
- output;
- end;
- drop i;
- run;
- %macro test(n1);
- %do i=1 %to &n1.;
- /*从总体B中随机抽取n1个样本*/
- proc surveyselect data=b out=b&i.
- method = srs
- n=53
- seed =0;
- run;
- data b&i;
- set b&i;
- group=&i.;
- run;
- data test&i.;
- set a b&i.;
- run;
- /*将每个样本与总体A进行t检验*/
- ods output ttests=p&i.;
- proc ttest data=test&i.;
- class group;
- var x;
- quit;
- ods output close;
- /*将每个样本与总体A进行t检验的p值取出来*/
- data p&i.;
- set p&i.;
- if Variances="Equal" then call symput("p&i.",Probt);
- run;
- %end;
- /*将每个样本与总体t检验的p值输出到同一个数据集中*/
- data p;
- retain count;
- %do j=1 %to &n1.;
- p_valute=&&p&j.;
- if p_valute>0.05 then count+1;/*count表示p值大于0.05的样本个数*/
- output;
- %end;
- run;
- %mend;
- %test(10);


雷达卡



京公网安备 11010802022788号







