⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 riditanalysis.sas

📁 用于两组等级资料ridit分析的SAS程序
💻 SAS
字号:
data all;/*根据频数表建立SAS数据集*/
do rank=1 to 4;/*等级变量为rank,组别变量为group*/
do group=1 to 2;
input f @@;
ff+f;sum+f;half=ff/2;
output;
end;
ff=0;
end;/*从以下数据的结构知:疗效越好,其Ridit值越大*/
cards;
49 24
31 35
5  16
15 25
;
run;
%macro ridit(group,rank);/*Ridit分析的宏程序,两个自由参
数group和rank*/
%do i=1 %to &group;
data a&i;set all; if group=&i then output a&i;
data b&i;set a&i;keep f;run;
%end;
data sum;set a&group; keep sum; if _n_=&rank then 
output;run;
data b;set a&group;keep ff half;run;
%do i=1 %to &rank;
proc append base=sum1 data=sum;run;
%end;
data nn;set a&group;n=sum;keep n;if _n_=&rank then 
delete;run;
data n;n=0;output;run;
proc append base=n data=nn;run;
data aa;merge b n sum1;keep half n sum ;run;
data bb;set aa;r=sum(half,n)/sum;keep r;run;
%do i=1 %to &group;
data f&i;merge b&i bb;run;
proc means data=f&i n mean stderr noprint;var r;freq 
f;output out=m&i mean=mean&i n=n&i stderr=stderr&i;run;
%end;
%mend ridit;
%ridit(2,4);
data mm;merge m1 m2;u=abs(mean1-mean2)/sqrt
(stderr1**2+stderr2**2);
if u>2.58 then p='<0.01';else if u>=1.96 then 
p='<=0.05';else p='>0.05';run;
proc print data=mm;
var n1 n2 mean1 mean2 stderr1 stderr2 u p;run;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -