×

SAS 教程

SAS 概述SAS 程序结构SAS 基本语法SAS 数据集SAS 变量SAS 字符串SAS 数组SAS 数字格式SAS 运算符SAS 循环SAS 决策SAS 功能SAS Input 输入方法SAS 宏SAS Date Times 日期时间

SAS 数据集操作

SAS 写入数据集SAS 连接数据集SAS 合并数据集SAS 子集数据集SAS 数据集排序SAS 格式数据集SAS SQLSAS ODSSAS 模拟SAS 读取原始数据

SAS 数据展示

SAS 直方图SAS 条形图SAS 饼图SAS 散点图SAS 箱线图

SAS 基本统计程序

SAS 线性回归SAS Bland Altman分析SAS 卡方SAS Fisher精确测试SAS 算术平均值SAS 重复测量分析SAS 标准偏差SAS 单因素方差分析SAS 频率分布SAS 假设检验SAS 交叉表格SAS T检验SAS 相关性分析

SAS 相关资源

SAS 讨论SAS 有用的资源SAS 相关问题与解答

SAS 运算符


SAS中的运算符是在数学,逻辑或比较表达式中使用的符号。 这些符号内置到SAS语言中,并且许多运算符可以组合在单个表达式中以给出最终输出。

以下是SAS运算符类别的列表。

  • 算术运算符
  • 逻辑运算符
  • 比较运算符
  • 最小/最大运营商
  • 连接运算符

我们逐一观察。 运算符总是与作为由SAS程序分析的数据的一部分的变量一起使用。

算术运算符

下表介绍了算术运算符的详细信息。 让我们假设分别具有值8和4的两个数据变量V1和V2。

操作者 描述
+ 加成 V1 + V2 = 12
- 减法 V1-V2 = 4
* 乘法 V1 V2 * 32 =
/ V1 / V2 = 2
** V1 V2 ** = 4096

DATA MYDATA1;
input @1 COL1 4.2	@7 COL2 3.1; 
Add_result = COL1+COL2;
Sub_result = COL1-COL2;
Mult_result = COL1*COL2;
Div_result = COL1/COL2;
Expo_result = COL1**COL2;
datalines;
11.21 5.3
3.11  11
;
PROC PRINT DATA=MYDATA1;
RUN;

在运行上面的代码,我们可以得到下面的输出。

逻辑运算符

下表描述了逻辑运算符的详细信息。 这些运算符计算表达式的Truth值。 因此,逻辑运算符的结果总是1或0.我们假设两个数据变量V1和V2分别具有值8和4。

操作者 描述
AND运算符。 如果两个数据值都为真,则结果为1,否则为0。 (V1> 2 V2> 3)给出了0。
| OR运算符。 如果任何一个数据值求值为真,则结果为1,否则为0。 (V1> 9 V2> 3)为1。
NOT运算符。 NOT运算符以值为FALSE或缺少值的表达式形式的结果为1,否则为0。 NOT(V1> 3)为1。

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
and_=(COL1 > 10 & COL2 > 5 );
or_ = (COL1 > 12 | COL2 > 15 );
not_ = ~( COL2 > 7 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA=MYDATA1;
RUN;

在运行上面的代码,我们可以得到下面的输出。

比较运算符

下表描述了比较运算符的详细信息。 这些运算符比较变量的值,结果是真值,1表示TRUE,0表示False。 让我们假设分别具有值8和4的两个数据变量V1和V2。

操作者 描述
= EQUAL运算符。 如果两个数据值相等,则结果为1,否则为0。 (V1 = 8)给出1。
^ = NOT EQUAL运算符。 如果两个数据值不相等,则结果为1,否则为0。 (V1 ^ = V2)给出1。
< LESS THAN运算符。 (V2
<= 小于或等于运算符。 (V2 <= 4)给出1。
> 大于运算符。 (V2> V1)给出1。
> = 大于或等于运算符。 (V2> = V1)给出0。
IN运算符。 如果变量的值等于给定值列表中的任何一个值,则返回1 else否则返回0。 V1在(5,7,9,8)给出1。

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
EQ_ = (COL1 = 11.21);
NEQ_= (COL1 ^= 11.21);
GT_ = (COL2 => 8);
LT_ = (COL2 <= 12);
IN_ = COL2 in( 6.2,5.3,12 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA=MYDATA1;
RUN;

在运行上面的代码,我们可以得到下面的输出。

最小/最大运算符

下表描述了最小/最大运算符的详细信息。 这些运算符比较一行中变量的值,并返回行中的值列表中的最小值或最大值。

操作者 描述
MIN MIN运算符。 它从行中的值列表返回最小值。 MIN(45.2,11.6,15.41)给出了11.6
MAX MAX操作符。 它从行中的值列表返回最大值。 MAX(45.2,11.6,15.41)给出了45.2

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1 @12 COL3 6.3; 
min_ = MIN(COL1 , COL2 , COL3);
max_ = MAX( COL1, COl2 , COL3);
datalines;
11.21 5.3 29.012
3.11  11.4 18.512
;
PROC PRINT DATA=MYDATA1;
RUN;

在运行上面的代码,我们可以得到下面的输出。

连接运算符

下表描述了Concatenation运算符的详细信息。 此运算符连接两个或多个字符串值。 返回单个字符值。

操作者 描述
|| 连接运算符。 它返回两个或多个值的连接。 'Hello'||'World' 输出 Hello World

DATA MYDATA1;
input  COL1 $	COL2 $  COL3 $; 
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA=MYDATA1;
RUN;

在运行上面的代码,我们可以得到下面的输出。

运算符优先级

运算符优先级表示复杂表达式中存在的多个运算符的求值顺序。 下表描述了一组运算符中的优先顺序。

顺序 符号
第一组 右到左 ** + - NOT MIN MAX
第二组 左到右 * /
第三组 左到右 + -
第四组 左到右 ||
第五组 左到右 <<= => =>

分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)