SAS 条件语句
IF THEN 基本形式
执行单条语句
IF 条件 THEN 执行;
例:
IF Year < 2000 THEN DELETE;
条件语句中一些基本的比较符号:
Symbolic | Mnemonic | Meaning |
---|---|---|
= | EQ | equals |
^= Or ~= | NE | not equals |
> | GT | greater than |
< | LT | less than |
>= | GE | greater than or equal |
<= | LE | less than or equal |
IN | in |
执行多条语句
IF condition THEN DO;
action1;
action2;
END;
IF 与 ELSE、ELSE IF
IF condition1 THEN action1;
ELSE IF condition2 THEN action2;
ELSE IF condition3 THEN action3;
...
ELSE action;
简单应用
观测值分组
IF Cost = . THEN CostGroup = 'missing';
ELSE IF Cost < 2000 THEN CostGroup = 'low';
ELSE IF Cost < 10000 THEN CostGroup = 'medium';
ELSE CostGroup = 'high';
构造子集
IF expression; /* 写在 DATA 步中,用于取数据集中的部分数据 */
例;
IF SEX = 'female' /* 保留数据集中性别为 female 的数据 */
或者
IF SEX = 'female' THEN DELETE /* 删除数据集中性别为 female 的数据 */
参考文献
Lora D.Delwiche and Susan J.Slaughter. The Liitle SAS Book[M]