楼主: 金树2017
1688 4

[程序分享] 请教这段SAS代码哪里出错了? [推广有奖]

  • 1关注
  • 0粉丝

大专生

5%

还不是VIP/贵宾

-

威望
0
论坛币
-5 个
通用积分
0
学术水平
0 点
热心指数
4 点
信用等级
0 点
经验
568 点
帖子
25
精华
0
在线时间
36 小时
注册时间
2017-12-6
最后登录
2022-9-15

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

运行之后出现问题,确实不是很懂,求教!

PROC IML;


start MTE2co ( a, Lelr, Uelr, rm, ca, power );


error = 0;


if ( a>1 | a<0 ) then do; error =1; print “error”


“Test significance level must be in 0-1”; end;


If ( Lelr>Uelr ) then do; error=1; print “error”


“Lower equivalence limit ratio must be <=Upper equivalence


limit ratio”; end;


if ( Uelr < Lelr ) then do; error=1; print “error”


“Upper equivalence limit ratio must be >=Lowerequivalence


limit ratio”; end;


if ( rm <= Lelr | rm >=Uelr) then do; error=1;


print “error”“Expected ratio must be inLeld-Ueld”;


end;


if ( rm<=0 ) then do; error=1; print “error” “Expetted ratio must be >0”; end;


if ( power>100 | power<1 ) then do; error=1;


print “error” “Power(%)must be in 1-100”; end;


if ( error = 1 )then stop;


if (error = 0) then do;


sd = ca/sqrt(2); SDD=2*sd; n=2;


do until(pwl+pw2-1 >=power/100);


L_ncp = abs(log(rm)-log(Lelr))#sqrt(n)/(sd#sqrt(2));


U_ncp = abs(log(rm)-log(Uelr))#sqrt(n)/(sd#sqn(2));


df=2*(n-1); t=tinv(1-a,df);


pw1 = 1-probt(t, df, L_ncp);


pw2 = 1-probt(t, df, U_ncp);


n = n+0.01; end;


n = ceil(n-0.01);


print a[1abel = “Test significance level”]


Lelr [ label =“Lower equivalence limitratio”]


Uelr [ 1abel =“Upper equivalence limitratio”]


rm [ label =“Expected ratio”]


ca [ 1abel = “Crossover ANOVA,sqrt(MSE)” ]


SDD [ label = “SD differences” ]


Power [ 1abel= “Power(%)” ]


N [ label=“n per sequence group”]; end;


finish MTE2co;


run MTE2co(0.025, 0.8, 1.25, 1, 0.198, 90)


run MTE2co(0.025, 0.8, 1.25, 1, 0.294, 90)


quit;


二维码

扫码加我 拉你入群

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

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

关键词:sas代码 哪里出错了 significance Equivalence differences

已有 1 人评分热心指数 收起 理由
eijuhz + 2 鼓励积极发帖讨论

总评分: 热心指数 + 2   查看全部评分

沙发
金树2017 发表于 2017-12-14 09:49:11 |只看作者 |坛友微信交流群
   @lovexialulu ,请求大神帮忙啊!

使用道具

藤椅
lovexialulu 发表于 2017-12-14 13:07:06 |只看作者 |坛友微信交流群
金树2017 发表于 2017-12-14 09:49
@lovexialulu ,请求大神帮忙啊!
对proc iml; 不熟,对你的程序调了下,但是log还是有error:
NOTE: Module MTE2CO defined.
216        /*run MTE2co;*/
217        run MTE2co(0.025, 0.8, 1.25, 1, 0.294, 90);
ERROR: (execution) Matrix has not been set to a value.
  1. PROC IML;
  2. /*
  3. a=0.025;
  4. Lelr=0.8;
  5. Uelr=1.25;
  6. rm=1;
  7. ca=0.294;
  8. power=90;

  9. start MTE2co;
  10. */
  11. start MTE2co (a, Lelr, Uelr, rm, ca, power );
  12. error = 0;
  13. if ( a>1 | a<0 ) then do; error =1;
  14. print 'error' 'Test significance level must be in 0-1'; end;
  15. If ( Lelr>Uelr ) then do; error=1;
  16. print 'error' 'Lower equivalence limit ratio must be <=Upper equivalence limit ratio'; end;
  17. if ( Uelr < Lelr ) then do; error=1;
  18. print 'error' 'Upper equivalence limit ratio must be >=Lower equivalencelimit ratio'; end;
  19. if ( rm <= Lelr | rm >=Uelr) then do; error=1;
  20. print 'error' 'Expected ratio must be inLeld-Ueld';end;
  21. if ( rm<=0 ) then do; error=1;
  22. print 'error' 'Expetted ratio must be >0'; end;
  23. if ( power>100 | power<1 ) then do; error=1;print 'error' 'Power(%)must be in 1-100'; end;
  24. if ( error = 1 )then stop;
  25. if (error = 0) then do;

  26. sd = ca/sqrt(2);
  27. SDD=2*sd;
  28. n=2;
  29.         do until(pwl+pw2-1 >=power/100);
  30. L_ncp = abs(log(rm)-log(Lelr))#sqrt(n)/(sd#sqrt(2));
  31. U_ncp = abs(log(rm)-log(Uelr))#sqrt(n)/(sd#sqrt(2));
  32. df=2*(n-1); t=tinv(1-a,df);
  33. pw1 = 1-probt(t, df, L_ncp);
  34. pw2 = 1-probt(t, df, U_ncp);
  35. n = n+0.01;
  36.         end;
  37. n = ceil(n-0.01);

  38. print a [ label = 'Test significance level'] Lelr [ label ='Lower equivalence limitratio']
  39. Uelr [ label ='Upper equivalence limitratio'] rm [ label ='Expected ratio']
  40. ca [ label = 'Crossover ANOVA,sqrt(MSE)' ] SDD [ label = 'SD differences' ]
  41. Power [ label= 'Power(%)' ] n [ label='n per sequence group'] ;
  42. end;

  43. finish;
  44. /*run MTE2co;*/
  45. run MTE2co(0.025, 0.8, 1.25, 1, 0.294, 90);
  46. quit;
复制代码

使用道具

板凳
金树2017 发表于 2017-12-14 13:50:40 |只看作者 |坛友微信交流群
lovexialulu 发表于 2017-12-14 13:07
对proc iml; 不熟,对你的程序调了下,但是log还是有error:
NOTE: Module MTE2CO defined.
216        ...
谢谢,感谢您的帮助!我是菜鸟啊,刚接触SAS,好多的都不懂,您能推荐几本比较好的学习SAS的书吗?

使用道具

报纸
lovexialulu 发表于 2017-12-14 14:04:45 |只看作者 |坛友微信交流群
金树2017 发表于 2017-12-14 13:50
谢谢,感谢您的帮助!我是菜鸟啊,刚接触SAS,好多的都不懂,您能推荐几本比较好的学习SAS的书吗?
入门书 the little sas book

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-19 16:52