全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1427 2
2008-10-22

 DATA MY;
 array x(1000) x1-x1000;
 array y(1000) y1-y1000;
 do i=1 to 1000;
 do j=1 to 1000;
 x(i)=rannor(0); /*生成1000个正态分布的随机数x*/
 y(j)=rannor(0); /*生成1000个正态分布的随机数y*/
 end;
 end;
 a=mean(of x1-x1000);/*计算1000个数x的均数*/
 b=std(of x1- x1000);/*计算1000个数x的标准差*/
 c=mean(of y1-y1000);/*计算1000个数y的均数*/
 d=std(of y1-y1000);/*计算1000个数y的标准差*/
 output;
 %let m1= a;%let s1= b;%let m2=c;%let s2=d;%let l=-c/5;%let u=c/5;/*定义宏变量*/
 array nt(2)nt1-nt2;
 array nr(2)nr1-nr2;
 do i=1to 2;
 do j=1to 2;
  nt(i)=&m1+&s1*rannor(0);/*生成2个正态分布的随机数,其均数是a,标准差是b*/
  nr(j)=&m2+&s2*rannor(0);/*生成2个正态分布的随机数,其均数是c,标准差是d*/
  end;
  end;
Mt=mean(of nt1-nt2);/*计算前2个数的均数*/
St=std(of nt1-nt2);/*计算前2个数的标准差*/
Mr=mean(of nr1-nr2);/*计算后2个数的均数*/
Sr=std(of nr1-nr2);/*计算后2个数的标准差*/
SSt=St**2*(2-1);/*计算前一组的离均差平方和*/
SSr=Sr**2*(2-1);/*计算后一组的离均差平方和*/
Sc=(SST+SSr)/(4-2);/*计算2组的合并方差*/
Se=sqrt(Sc*(1/2+1/2));/*计算2组的标准误*/
T1=((Mt-Mr)-&l)/Se;/*对下限l进行假设检验,计算T1*/
T2=(&u-(Mt-Mr))/Se;/*对上线u进行假设检验,计算T2*/
P1=probt(-T1,4-2);/*计算-T1对应的T分布左侧累计概率*/
P2=probt(-T2,4-2);/*计算-T2对应的T分布右侧累计概率*/
PROC PRINT;
VAR P1 T1 P2 T2; /*P1 T1 P2 T2的值*/
run;
怎么将上面的程序重复1000次,求出1000个P1P2T1T1T2?

请求高人指导下 谢谢

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2008-10-22 21:12:00

use macro

%macro rep;

%do i = 1 %to 1000;

your code here;

%end;

%mend rep;

%rep

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2008-10-23 14:37:00

谢谢楼上的帮我,但是your code here;这句我怎么改啊 没明白 有明白的么 帮我解释一下 我新手 谢谢大家了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群