n=(probit((1-&alpha/2))/&delta)**2*&p*(1-&p); n1=int(n+1); proc print data=d1_2; run;
%mend onesample_ratio;
%onesample_ratio(P=0.15,delta=0.03,alpha=0.05);
/*---成组设计定量资料样本量计算(双侧)----*/
%macro twosample_mean2(alpha=,beta=,delta=,std=,q1=,q2=); data d1_3;
n=(1/&q1+1/&q2)*((abs(probit((&alpha/2)))+probit((1-&beta)))*&std/&delta)**2;
N=int(n)+1; n1=int(N*&q1)+1; n2=int(N*&q2)+1; proc print data=d1_3; %mend;
%twosample_mean2(alpha=0.05,beta=0.10,delta=12.33,std=5,q1=0.5,q2=0.5);
/*---成组设计定量资料样本含量计算(单侧 )----*/
%macro twosample_mean1(alpha=,beta=,delta=,std=,q1=,q2=); data d1_4;
n=(1/&q1+1/&q2)*((abs(probit(&alpha))+probit((1-&beta)))*&std/&delta)**2;
N=int(n)+1; n1=int(N*&q1)+1; n2=int(N*&q2)+1; proc print data=d1_4; run; %mend;
%twosample_mean1(alpha=0.05,beta=0.10,delta=5,std=12,q1=0.333,q2=0.667);
/*---配对二分类资料分析时的样本含量计算---*/ %macro parisample_ratio(p1=,p2=,alpha=,beta=,pk=); data d1_5;
%let pc=(&p1+&p2-2*&Pk)/2;
n=(((abs(probit(&alpha/2)))*(sqrt(2*&pc))+(probit(1-&beta))*sqrt(2*(&p1-&pk)*(&p2-&pk)/(&pc)))/(&p1-&p2))**2;
N=int(n)+1;
proc print data=d1_5; run; %mend;
%parisample_ratio(p1=0.48,p2=0.30,alpha=0.05,beta=0.10,pk=0.25);
/*---两样本率分析时样本含量计算---*/
%macro twosample_ratio(p1=,p2=,alpha=,beta=,q1=,q2=); data d1_6;
%let pc=&p1*&q1+&p2*&q2;
n=((abs((probit(&alpha/2)))*(sqrt((&pc)*(1-(&pc))*(1/&q1+1/&q2)))+((probit(1-&beta))*(sqrt(&p1*(1-&p1)/&q1+&p2*(1-&p2)/&q2))))/(&p1-&p2))**2;
N=int(n)+1; n1=&q1*N; n2=&q2*N;
proc print data=d1_6; run; %mend;
%twosample_ratio(p1=0.94,p2=0.85,alpha=0.05,beta=0.10,q1=0.60,q2=0.40);
/*完全随机设计多个总体均数分析时样本含量计算*/ 要用如下程序
/***************************************************************************************************
*用3种方法治疗脑卒中抑郁患者,观察其神经功能康复状况,3种方法治疗后SSS评分均数分别为11.0、10.0、9.0,标准
*差分别为3、3、2,如果要得到3组之间的差别有统计学意义的结论,问每组需要多少例患者?
***************************************************************************************************/ proc power ; onewayanova
groupmeans =11| 10| 9 stddev =2.71 alpha = 0.05 npergroup = . power = .9; run;
2.71=sqrt((3**2+3**2+2**2)/3)