作者Yures (第二十六天。)
看板Psychology98
标题[心得] SAS Syntax 整理─运算式。
时间Wed Nov 2 18:06:18 2005
运算式。
数值运算:
◎非常重要的基本概念:
数值运算为多个变数与数值的相互运算,然而萨死会迷惑─
运算结果该放哪里呢?是覆盖原有变数的资料还是怎样?
所以请务必记得设定新的变数给萨死存放运算结果。
运算符号:var=var1|x1 sym1 var2|x2 sym2 ... varn|xn;
+:加法。 -:减法。 *:乘法。 /:除法。 **xi:xi次方。
单变数运算函数:F(var);
SQRT:平方根。 LOG:自然对数。 LOGy:底数为 y 取对数。
多变数运算函数:F(OF[var1-varn|var1,var2,...,varn]);
MEAN:平均数。 SUM:加总。 STD:标准差。 VAR:变异数。
Ex:DATA info;
INPUT x y;
r1=x+y;
r2=x**3;
r3=SQRT(x);
r4=LOG(x);
r5=SUM(of x,r3);
CARDS;
1 10
2 9
3 8
4 7
5 6
;
PROC PRINT ROUND;
/*ROUND 是四舍五入数值到点後二位的方便指令唷!*/
RUN;
结果: The SAS System
Obs x y r1 r2 r3 r4 r5
1 1 10 11 1 1.00 0.00 2.00
2 2 9 11 8 1.41 0.69 3.41
3 3 8 11 27 1.73 1.10 4.73
4 4 7 11 64 2.00 1.39 6.00
5 5 6 11 125 2.24 1.61 7.24
条件运算:
IF:
[IF cond THEN act1;|
IF cond THEN DO;
act1;
act2;
.
.
.
actn;
END;]
<ELSE act1;>
<ELSE DO;
act1;
act2;
.
.
.
actn;
END;>
IF cond THEN act1:如果 cond 成立则执行 act1。
◎cond 可包含 OR|AND 来表示多项条件的关系。
cond 可用 =、^=(不等於)、>、>=、<、<= 表示。
IF cond THEN DO:如果 cond 成立则执行後面的动作。
END:动作终结。
◎DO 和 END 是共存共亡的指令。用於多动作的执行。
ELES:如果 cond 未成立则执行动作。
◎Else 尽管未必加入,然而条件未成立则导致资料缺失。
Ex:/*假设游戏分数为 1 则失败,2~5 为良好,5 以上为优秀。*/
DATA info;
INPUT score @@;
IF score<=5 THEN DO;
IF score=1 THEN grade='false';
ELSE grade='good';
END;
ELSE grade='excel';
CARDS;
1 6 7 5 6 5 1 3 7 8 6 4 2
;
PROC PRINT;
RUN;
结果: The SAS System
Obs score grade
1 1 false
2 6 excel
3 7 excel
4 5 good
5 6 excel
6 5 good
7 1 false
8 3 good
9 7 excel
10 8 excel
11 6 excel
12 4 good
13 2 good
--
抱歉社课快迟到了。回来再套色。
另外还有 SELECT 条件运算。再补波。
--
~托身
白刃里‧杀人
红尘中~
~摘自 李白‧赠从兄襄阳少府皓~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.240.88
1F:推 cantus:大感激 感动到流眼泪 11/02 23:32
※ 编辑: Yures 来自: 140.112.240.88 (11/03 00:08)