SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

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

生成t双侧分位数表。

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2004-9-22 10:48:53 | 只看该作者

生成t双侧分位数表。

题目如下:
生成t分布的双侧分位数表。水平取0.001, 0.002, 0.005, 0.01, 0.02, 0.05,0.10, 0.20,自由度1-100。分位数精确到小数点后3位,表格应为行列对齐格式,并有列标题,写出生成这样的表格并放到一个文本文件中的sas程序。

各位有什么好的做法?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2004-9-22 19:22:22 | 只看该作者

d

[code:d7d28]
data prob;
input p;
cards;
0.001
0.002
0.005
0.01
0.02
0.05
0.10
0.20
;
run;
data result;
set prob;
do df=1 to 100;
result=-tinv(p/2,df);
output;
end;
run;
[/code:d7d28]
生成文本文件,我用proc tabulate,不过太土了,就不贴上来现眼了。是不是应该用proc report 和ods ?我在这方面很弱。  <!-- s:oops: --><img src="{SMILIES_PATH}/icon_redface.gif" alt=":oops:" title="Embarassed" /><!-- s:oops: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2005-9-29 09:04:41 | 只看该作者

但是怎么精确到小数点后3位不知道怎么做?指教请!

Data example.a;
do p=0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2;
df=1;
  do until (df&gt;100);
    q1=TINV(p/2,df);
    q2=TINV((1-p/2),df);
    output;
   df=df+1;
  end;
end;
proc export data=example.a outfile='d:\sas\exercise\example\c.txt' DBMS='Tab' replace;
run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2005-9-29 15:43:21 | 只看该作者

这个好像好一些,把问题全部解决了!

Data example.a;
do p=0.001, 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2;
  df=1;
  do until (df&gt;100);
     left=TINV(p/2,df);
     right=TINV((1-p/2),df);
     output;
      file 'd:\sas\exercise\example\c.txt';
      put p 1-5 .3 df 10-15 left 20-30 .3 right 35-45 .3;
     df=df+1;
end;
end;
run;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 07:11 , Processed in 0.071229 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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