SAS Peking University SAS Club SAS 2006 10
北京大学SAS俱�部 Peking University SAS Club SAS软件会员培训 2006年 10月
0. 上次内容回顾 To teach is equal to learn twice ! 5 Peking University SAS Club
B. � 出� 句 9 例: 更多用法: Data a; x=0. 5; y=sin(x); put ‘sin(‘ x ‘)=‘ y; run; Put x= y=; Put x 10 -20. 6 y 30 -40. 6; put x 20. 8 y 20. 8; Put ‘sin(‘ x ‘)=‘ y $6; 但是put语句不可以规定列位置 及宽度。 Peking University SAS Club
C. 分支� 句 例: if y>0 then Do; put ’ Y为正数’; Y=Y**2; Put y=; End; Else y=-y; 12 Peking University SAS Club
C. 分支� 句 2. Sas的if结构允许嵌套,但是sas不提供if-then, if-then 的多分支语句结构;但SELECT语句可以且更灵活。 格式 1(when值列表) SELECT (expression); WHEN (Value 1, Value 2, …. Valuek) statement; WHEN (Value 1, Value 2, …. Valuej) statement; …… OTHERWISE statement; END; 13 Peking University SAS Club
C. 分支� 句 例: SELECT(month); WHEN('Feb', 'Mar', 'Apr') put '春天'; WHEN('May', 'Jun', 'Jul') put '夏天'; WHEN(‘Aug’, ‘Sep’, ‘Oct’) put ‘秋天'; OTHERWISE put '冬天'; END; 14 Peking University SAS Club
C. 分支� 句 2. 多分支结构SELECT语句 格式 2:(when条件式) SELECT; WHEN (expression 1) statement 1; WHEN (expression 2) statement 2; …… OTHERWISE statement; END; 15 Peking University SAS Club
C. 分支� 句 例: SELECT; WHEN(age<=16) put '少年'; WHEN(age<35) put '青年'; OTHERWISE put '中老年'; END; 16 Peking University SAS Club
D. 循�� 句 SAS数据步(DATA STEP) 可以使用 3种循环结构: 1. 循环Do语句 2. Do While 语句 3. Do Until 语句 17 Peking University SAS Club
D. 循�� 句 1. 循环Do语句: 语句格式: DO 循环变量= 初值 TO 终值 by 增量(步长); statement 1; statement 2; 。。。。 statementn; 循环执行的 SAS语句 END; 18 Peking University SAS Club
C. 分支� 句 例: Data b; DO i = 1 TO 20 BY 2; j = i**3; put i 3. j 5. ; END; run; 19 Peking University SAS Club
D. 循�� 句 跳出循环:LEAVE 相当与C语言的Break 例: if j>1000 then LEAVE; 20 Peking University SAS Club
D. 循�� 句 2. Do While语句(当型循环): (程序先判断循环继续的条件是否成立) 语句格式: DO While(Expression) ; statement 1; statement 2; 。。。。 statementn; 循环执行的 SAS语句 END; 21 Peking University SAS Club
C. 分支� 句 例: Data C; x=1333333; i=3; DO WHILE (mod(x, i) ^= 0); i=i+1; END; if i<x then put x ’不是素数’; else put x ’是素数’; run; 22 Peking University SAS Club
D、循�� 句 例: data; n=0; do until (n>=5); n=n+1; put n=; end; run; 24 Peking University SAS Club
D. 循�� 句 关于循环的一个比较灵活的写法: data; do i=3, 7, 11 to 17 by 3 while (i**2<200); j=i**2; put i j; end; run; 25 Peking University SAS Club
B. SAS函数的参数和结果 3) 参数的表示法: 一般地,当函数有几个参数时,它们之间必须用逗号(,) 分隔开。不过,以下三种写法均是合法的: Function Name(OF variable 1 -variablen) Function Name(OF variable. . . ) Function Name(variable, . . . ) 例如: sum(of x 1 -x 5) sum(of x 1 x 2 x 3 x 4 x 5) sum(x 1, x 2, x 3, x 4, x 5) 是等价的。 29 Peking University SAS Club
实例与练习 35 Peking University SAS Club
用SAS生成曲面图 2 Z=Sin. X+Y 1. output语句 2. Keep 语句 3. g 3 d 过程 36 data surface; Incre=0. 1; do x=-5 to 5 by Incre; do y=-5 to 5 by Incre; z=sin(X)+Y*Y; output; end; keep x y z; run; proc g 3 d data=surface; plot x*y=z; run; Peking University SAS Club
练习 用SAS画二元正态分布图 37 Peking University SAS Club
利用程序语言列出 10000以下的素数 38 Peking University SAS Club
- Slides: 38