SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 865|回复: 3
打印 上一主题 下一主题

SAS怎么做RIDIT分析啊?

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-7-4 17:13:07 | 只看该作者

SAS怎么做RIDIT分析啊?

这个可以做吗?怎么实现啊?
谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2005-7-5 10:01:54 | 只看该作者

Re: SAS怎么做RIDIT分析啊?

[b:88781]one example[/b:88781]

[quote:88781]%let group=3;  /* 三种药物 */
%let rank=4;   /* 每种药物的疗效有四个等级    */
%let col_row=%eval(&group*&rank);
DATA _NULL_;
row=&rank;
col=&group;
ARRAY num(&rank,&group);
ARRAY cpd(&group);
ARRAY ridit(&group);
ARRAY trow(&rank);
ARRAY tcol(&group);
ARRAY y(&rank);
ARRAY ucpd(&group);
ARRAY uridit(&group);
ARRAY t(&group);
FILE PRINT;
n=0;     buf1=0;
buf4=0;  buf5=0;
INPUT num1-num&col_row;
DO j=1 TO col;
  tcol(j)=0;
  DO i=1 TO row;
   tcol(j)=tcol(j)+num(i,j);
  END;
n=n+tcol(j);
END;
buf3=n;
DO i=1 TO row;
trow(i)=0;
DO j=1 TO col;
  trow(i)=trow(i)+num(i,j);
END;
buf4=buf4+trow(i)*trow(i)*trow(i);
buf2=trow(i);
y(i)=buf3-buf1-buf2;
buf3=y(i);
buf1=trow(i);
END;
DO j=1 TO col;
cpd(j)=0;
DO i=1 TO row;
  cpd(j)=cpd(j)+num(i,j)*y(i);
END;
ridit(j)=0.5-cpd(j)/(2*tcol(j)*n);
t(j)=tcol(j)*(n+1)/2-cpd(j)/2;
  ucpd(j)=cpd(j)/sqrt(tcol(j)*(n-tcol(j))*(n*n*n-buf4)/(3*n*(n-1)));
  uridit(j)=(0.5-ridit(j))/sqrt((n*n*n-buf4)/(12*n*n*(n-1)*tcol(j)));
  buf5=buf5+t(j)*t(j)/tcol(j);  END;
Hc=(12/(n*(n+1))*buf5-3*(n+1))/(1-(buf4-n)/(n*(n*n-1)));
prob_Hc=1-PROBCHI(Hc,col-1);
PUT @5 "秩和检验结果"
     #3 @5 '秩和检验统计量值' @30 '秩和检验P值'
     #4 @5 Hc 10.4 @30 prob_Hc 6.4;
PUT #7 @5 'Ridit分析结果'
     #9 @5 'Ridit值' @15 "检验Ridit所对应的U统计量的值";
DO j=1 TO col;
  PUT #(j+9) @5 ridit(j) 7.4  @15 uridit(j) 8.4;
END;
buf1=probit(0.05/2/col);  buf2=-buf1;
buf3=probit(0.05/2);      buf4=-buf3;
PUT #(col+12) @5 "U 统计量值的95%置信区间"
               @30 buf3 7.4 @40 buf4 7.4;
buf1=probit(0.01/2/col);  buf2=-buf1;
buf3=probit(0.01/2);      buf4=-buf3;
PUT #(col+14) @5 "U 统计量值的99%置信区间"
               @30 buf3 7.4 @40 buf4 7.4;
CARDS;
15  4  1
49  9 15
31 50 45
5 22 24
;
RUN;[/quote:88781]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2005-7-5 18:42:30 | 只看该作者

Re: SAS怎么做RIDIT分析啊?

不过要是只要2种药物的话不知道程序哪里需要改一下啊 ?
呵呵
我刚接触这个
不懂啊
再次谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2005-7-6 07:20:29 | 只看该作者

%let group=3; /* 三种药物 */

%let group=3; /* 三种药物 */
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-9 07:09 , Processed in 0.070455 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表