|
|
楼主

楼主 |
发表于 2007-10-22 21:44:18
|
只看该作者
生成统计用表的SAS程序
看书的时候,看到几段生成统计用表的SAS程序,觉得蛮有意思,做了些小小改动,摘录了一个t分布的。大家有兴趣的话,可以试试其他分布的哦。
[code:p9w8n6s7]DATA t;
ARRAY T(50,9);
g=1;
DO d=1 TO 40,50,60,70,80,90,100,200,500,1000,100000000;
/*d的取值为1到40间的每一个整数以及50,60,...,1000,100000000*/
w=1;
DO alpha=0.50,0.20,0.10,0.05,0.02,0.01,0.005,0.002,0.001;
p=1-alpha/2;
b=TINV(p,d);
b=ROUND(b,0.0001);
T(g,w)=b;
w=w+1;
OUTPUT;/*输出到数据集t*/
END;
g=g+1;
END;
FILE PRINT;/*输出到输出窗口,若不写此句,就会输出到日志窗口*/
/*下面的语句主要是设定输出位置*/
/* #:输出数据的行的位置 */
/* @:输出数据的列的位置 */
PUT #1 @1 'alpha =' @19 '0.50' @29 '0.20' @39 '0.10'
@49 '0.05' @59 '0.02' @69 '0.01'
@78 '0.005' @88 '0.002' @98 '0.001';
L=1;
DO d=1 TO 40,50,60,70,80,90,100,200,500,1000,100000000;
c=L+2;
PUT #c
@1 'd='
@4 d
@15 T(L,1) 8.4 /* 8.4:共8位,其中4位小数,1位小数点 */
@25 T(L,2) 8.4
@35 T(L,3) 8.4
@45 T(L,4) 8.4
@55 T(L,5) 8.4
@65 T(L,6) 8.4
@75 T(L,7) 8.4
@85 T(L,8) 8.4
@95 T(L,9) 8.4;
L=L+1;
END;
RUN;[/code:p9w8n6s7] |
|