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

 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;
 run;
data MY1;
set MY;
%let m1= a;%let s1= b;%let m2=c;%let s2=d;%let l=-c/5;%let u=c/5;%let α=0.05;/*定义宏变量l是区间检验下限,u是检验上限*α是检验水准*/
 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分布右侧的累计概率*/
output;
%macro MY11;
%do i=1 %to 1000;
PROC PRINT;
VAR P1 T1 P2 T2;
run;
%end;
%mend  MY11;
%MY11;

为什么输出的1000个P1T1P2T2都一样啊 请教高手指导一下 ,谢谢大家了

二维码

扫码加我 拉你入群

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

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

全部回复
2008-10-23 23:02:00
ding
二维码

扫码加我 拉你入群

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

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

2008-10-24 19:55:00
用Call子程序看看
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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