全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
910 0
2013-09-13
楼主刚接触macro 请问sas高手为什么下面一段程序在编辑器里的时候 data statement里data甚至都不会变颜色?也就是说语句是无效的?应该改哪里?
libname ttest 'c:\t_test\trials';

proc printto log='c:\t_test\trials\logfile.tmp';
run;

%macro ttest;

%do a=1 %to 2;
%do b=1 %to 2;

%do i=1 %to 10000;


data ttest;

alpha=0.05;
mean=50;
sd1=10;
n1=20;

  if &a=1 then sd2=sd1;
     else sd2=sd1*1.5;

  if &b=1 then n2=n1;
     else n2=n1*2;

sum1=0;
sum2=0;
ssu1=0;
ssu2=0;

do i=1 to n1;
   x1=mean+sd1*rannor(0);
   sum1=sum1+x1;
   ssu1=ssu1+x1**2;
end;

do j=1 to n2;
   x2=mean+sd2*rannor(0);
   sum2=sum2+x2;
   ssu2=ssu2+x2**2;
end;


ssu1=ssu1-((sum1**2)/n1);
ssu2=ssu2-((sum2**2)/n2);

mean1=sum1/n1; mean2=sum2/n2;

varp=(ssc1+ssc2)/(n1+n2-2);

t=(mean1-mean2)/sqrt(varp*(1/n1+1/n2));

df=n1+n2-2;

if t<0 then pt=2*probt(t,df);
else if t>0 then pt=2*(1-probt(t,df));

if pt<alpha then sig=1;
else sig=0;

if &a=1 then eq_var=' equal';
else eq_var='unequal';

if &b=1 then eq_n=' equal';
else eq_n='unequal';

data new;set ttest;
   keep t df pt sig eq_var eq_n;
   proc append base=ttest;
run;

%end;
%end;
%end;
%mend ttest;
%ttest;
run;

data a; set ttest;
proc sort;by eq_var eq_n;
proc freq;by eq_var eq_n;
table sig;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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