- SAS 教程
- SAS - 首页
- SAS - 概述
- SAS - 环境
- SAS - 用户界面
- SAS - 程序结构
- SAS - 基本语法
- SAS - 数据集
- SAS - 变量
- SAS - 字符串
- SAS - 数组
- SAS - 数值格式
- SAS 运算符
- SAS - 循环
- SAS - 决策
- SAS - 函数
- SAS - 输入方法
- SAS - 宏
- SAS - 日期和时间
- SAS 数据集操作
- SAS - 读取原始数据
- SAS - 写入数据集
- SAS - 合并数据集
- SAS - 合并数据集
- SAS - 子集数据集
- SAS - 排序数据集
- SAS - 格式化数据集
- SAS - SQL
- SAS - 输出交付系统
- SAS - 模拟
- SAS 基本统计过程
- SAS - 算术平均值
- SAS - 标准差
- SAS - 频数分布
- SAS - 交叉表
- SAS - t 检验
- SAS - 相关分析
- SAS - 线性回归
- SAS - Bland-Altman 分析
- SAS - 卡方检验
- SAS - Fisher 精确检验
- SAS - 重复测量分析
- SAS - 单因素方差分析
- SAS - 假设检验
- SAS 有用资源
- SAS - 快速指南
- SAS - 有用资源
- SAS - 问答
- SAS - 讨论
SAS 运算符
SAS 中的运算符是一个符号,用于数学、逻辑或比较表达式。这些符号是内置于 SAS 语言中的,许多运算符可以组合在一个表达式中以给出最终输出。
以下是 SAS 运算符类别的列表。
- 算术运算符
- 逻辑运算符
- 比较运算符
- 最小/最大运算符
- 连接运算符
我们将逐一查看每个运算符。运算符始终与作为 SAS 程序分析的数据一部分的变量一起使用。
算术运算符
下表描述了算术运算符的详细信息。让我们假设有两个数据变量V1和V2,其值分别为8和4。
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | 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;
运行上述代码后,我们将获得以下输出。
逻辑运算符
下表描述了逻辑运算符的详细信息。这些运算符评估表达式的真值。因此,逻辑运算符的结果始终为 1 或 0。让我们假设有两个数据变量V1和V2,其值分别为8和4。
运算符 | 描述 | 示例 |
---|---|---|
& | AND 运算符。如果两个数据值都评估为真,则结果为 1,否则为 0。 | (V1>2 & V2 > 3) 的结果为 0。 |
| | OR 运算符。如果任何一个数据值评估为真,则结果为 1,否则为 0。 | (V1>9 & V2 > 3) 的结果为 1。 |
~ | NOT 运算符。值为 FALSE 或缺失值的表达式的 NOT 运算符结果为 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;
运行上述代码后,我们将获得以下输出。
比较运算符
下表描述了比较运算符的详细信息。这些运算符比较变量的值,结果是真值,TRUE 为 1,FALSE 为 0。让我们假设有两个数据变量V1和V2,其值分别为8和4。
运算符 | 描述 | 示例 |
---|---|---|
= | 等于运算符。如果两个数据值相等,则结果为 1,否则为 0。 | (V1 = 8) 的结果为 1。 |
^= | 不等于运算符。如果两个数据值不相等,则结果为 1,否则为 0。 | (V1 ^= V2) 的结果为 1。 |
< | 小于运算符。 | (V2 < V2) 的结果为 1。 |
<= | 小于或等于运算符。 | (V2 <= 4) 的结果为 1。 |
> | 大于运算符。 | (V2 > V1) 的结果为 1。 |
>= | 大于或等于运算符。 | (V2 >= V1) 的结果为 0。 |
IN | IN 运算符。如果变量的值等于给定值列表中的任何一个值,则返回 1,否则返回 0。 | V1 in (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;
运行上述代码后,我们将获得以下输出。
连接运算符
下表描述了连接运算符的详细信息。此运算符连接两个或多个字符串值。返回单个字符值。
运算符 | 描述 | 示例 |
---|---|---|
|| | 连接运算符。它返回两个或多个值的连接。 | '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;
运行上述代码后,我们将获得以下输出。
运算符优先级
运算符优先级指示复杂表达式中多个运算符的计算顺序。下表描述了运算符组内的优先级顺序。
组 | 顺序 | 符号 |
---|---|---|
I 组 | 从右到左 | ** + - NOT MIN MAX |
II 组 | 从左到右 | * / |
III 组 | 从左到右 | + - |
IV 组 | 从左到右 | || |
V 组 | 从左到右 | < <= = >= > |
广告