楼主: huihui2014
1685 8

[问答] 求助 sas新手 [推广有奖]

  • 0关注
  • 0粉丝

初中生

47%

还不是VIP/贵宾

-

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

楼主
huihui2014 发表于 2014-4-25 17:02:04 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
急求SAS中两独立两本他检验的具体编程语言
二维码

扫码加我 拉你入群

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

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

关键词:编程语言 编程语言

沙发
huihui2014 发表于 2014-4-25 18:01:54
两独立样本t检验

藤椅
mingfeng07 学生认证  发表于 2014-4-25 18:15:08
  1. proc ttest data=test ho=0 alpha=0.05;/*ho=0表示均值为0的t检验,alpha=0.005表示显著性水平为0.05*/
  2. class sex;/*分组变量*/
  3. var  height;/*目标变量*/
  4. run;
复制代码
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

板凳
huihui2014 发表于 2014-4-25 21:07:14
mingfeng07 发表于 2014-4-25 18:15
谢谢你的回复 。    其实我想在sas里得到这样的t检验  与传统t检验上分子多加了一 个△,不知道该怎么编程   希望能得到你的帮助

报纸
huihui2014 发表于 2014-4-25 21:12:49
mingfeng07 发表于 2014-4-25 18:15
我的假设检验是这样子的   
H0:T药疗效-R药疗效≤-△
H1:  T药疗效-R药疗效>-△
我不知道该怎么在SAS里实现   跪求帮助啊  着急

地板
jeozu 发表于 2014-4-25 22:29:28
我想,你的应该是one sample检验,假设有N个样本,将Delta移到左边,得到T=mean(x1-x2+Delta)/std(x1-x2+delta), 自由度为n-1.
在data step 或者IML中构建T statistic.
%let delta=0;
%let _dt=a;
%let fl=%sysfunc(open(&_dt));
%let n=%sysfunc(attrn(&fl,nobs));
%let rc=%sysfunc(close(&fl));
data _null_;
arrray T{&n};
i=1;
do until(eof);
set &_dt end=eof ;
T=x1-x2+δ
i=i+1;
end;
T=mean(of T)/std(of T);
P=CDF("T", T, &n-1);
put @5 "T-Statistic"  @20 "P value";
put @5 T  @20 P;
run;
已有 1 人评分论坛币 收起 理由
admin_kefu + 20 热心帮助其他会员

总评分: 论坛币 + 20   查看全部评分

7
mingfeng07 学生认证  发表于 2014-4-25 23:15:21
huihui2014 发表于 2014-4-25 21:12
我的假设检验是这样子的   
H0:T药疗效-R药疗效≤-△
H1:  T药疗效-R药疗效>-△
你可以这么设置假设检验:
H0:T药疗效-R药疗效=-△
H1:T药疗效-R药疗效≠-△
然后在proc ttest 选项设置h0=-△,最后利用P值来判断,如果不显著,则满足你自己原来所设置的H0假设;如果显著,则可以从结果Statistics里面比较二者的均值看是否大于-△,如果大于,则说明满足你自己原来所设置的H1假设,如果小于,则满足你原来所设置的H0假设。
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

8
huihui2014 发表于 2014-4-26 09:29:09
mingfeng07 发表于 2014-4-25 23:15
你可以这么设置假设检验:
H0:T药疗效-R药疗效=-△
H1:T药疗效-R药疗效≠-△
谢谢你热心的帮助   我做的方面是关于临床试验的非劣效性  如果我还以传统t检验来做的话  导师是不会满意的
我希望能通过编程实现这个公式。麻烦您再帮帮我

9
mingfeng07 学生认证  发表于 2014-4-26 23:13:51
huihui2014 发表于 2014-4-26 09:29
谢谢你热心的帮助   我做的方面是关于临床试验的非劣效性  如果我还以传统t检验来做的话  导师是不会满意 ...
我做了一个简陋的检验程序,你看是否可行。
  1. %macro t_test(data,rn);/*rn代表△值,以下编程为我假设△为常数值的前提下*/
  2. data temp;
  3. set &data;
  4. run;
  5. proc sql;
  6. select mean(x1),mean(x2),count(x1),count(x2),sum(x1*x1),sum(x2*x2),sum(x1),sum(x2) into:m_x1,:m_x2,:n1,:n2,:s2_x1,:s2_x2,:s_x1,:s_x2 from temp;
  7. quit;
  8. %let v=%eval(&n1+&n2-2);
  9. %let s1=%sysevalf(&s_x1**2/&n1);
  10. %let s2=%sysevalf(&s_x2**2/&n2);
  11. %let s3=%sysevalf((&s2_x1-&s1+&s2_x2-&s2)/&v);
  12. %let s=%sysfunc(sqrt(&s3*((1/&n1)+(1/&n2))));
  13. %let t=%sysevalf((&m_x1-&m_x2+&rn)/&s);
  14. data _null_;
  15. p=sdf('T',&t,&v);
  16. put 'p值=' p;
  17. run;
  18. %mend t_test;
  19. /*example*/
  20. data a;
  21. input x1 x2;
  22. cards;
  23. 8.4 5.4
  24. 10.5 6.4
  25. 12.0 6.4
  26. 12.0 7.5
  27. 13.9 7.6
  28. 15.3 8.1
  29. 16.7 11.6
  30. 18 12
  31. 18.7 13.4
  32. 20.7 13.5
  33. 21.1 14.8
  34. 15.2 15.6
  35. .    18.7
  36. ;
  37. run;
  38. %t_test(a,1);
复制代码
欢迎扫一扫我头像关注, 不定期分享SAS技术知识。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-31 03:49