SAS中文论坛

标题: 生成t双侧分位数表。 [打印本页]

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

各位有什么好的做法?
作者: shiyiming    时间: 2004-9-22 19: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: -->
作者: shiyiming    时间: 2005-9-29 09:04
标题: 但是怎么精确到小数点后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;
作者: shiyiming    时间: 2005-9-29 15:43
标题: 这个好像好一些,把问题全部解决了!
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;




欢迎光临 SAS中文论坛 (http://mysas.net/forum/) Powered by Discuz! X3.2