开发手册 欢迎您!
软件开发者资料库

SAS -操作员

SAS操作员 - 从简单和简单的步骤学习SAS,从基本到高级概念,包括概述,环境,用户界面,程序结构,基本语法,数据集,变量,字符串,数组,数字函数,运算符,循环,决策,函数,输入法,宏,日期和时间,SQL,输出传递系统,模拟,直方图,图表,散点图,箱线图,算术平均值,标准偏差,频率分布,交叉制表,T检验,方差,线性回归,Bland- Altman分析,卡方,Fishers精确测试,单向Anova,重复测量分析,假设检验。

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

下面是SAS类别的运算符列表.

  • 算术运算符

  • 逻辑运算符

  • 比较运算符

  • 最小/最大操作员

  • 连接操作员

我们将查看每个一个接一个.运算符总是与变量一起使用,这些变量是SAS程序正在分析的数据的一部分.

算术运算符

下表描述算术运算符的细节.假设两个数据变量 V1 V2 分别为 8 4 .

运算符描述示例
+加法V1 + V2 = 12
-减法V1-V2 = 4
*乘法V1 * V2 = 32
/分部V1/V2 = 2
**ExponentiationV1 ** 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.33.11  11;PROC PRINT DATA = MYDATA1;RUN;

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

operators_arithmrtic

逻辑运算符

下表描述了逻辑运算符的详细信息.这些运算符评估表达式的真值.所以逻辑运算符的结果总是1或0.让我们假设两个数据变量 V1 V2 ,其值 8 4 分别.

运算符描述示例
&AND运算符.如果两个数据值都评估为真,则结果
为1,否则为0.
(V1> 2& V2> 3)给出0.
|OR运算符.如果任何一个数据值评估为真,则
结果为1,否则为0.
(V1> 9& V2> 3)为1./td>
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.33.11  11.4;PROC PRINT DATA = MYDATA1;RUN;

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

operators_logical

比较运算符

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

运算符描述示例
=EQUAL运算符.如果两个数据值相等,则结果
为1,否则为0.
(V1 = 8)给出1.
^ =NOT EQUAL运算符.如果两个数据值都不相等,则
结果为1,否则为0.
(V1 ^ = V2)给出1.
<少于操作员.(V2
< =少于或等于操作员.(V2 <= 4)给出1.
>大于操作员.(V2> V1)给出1.
> =大于或等于操作员.(V2> = V1)给出0.
ININ运算符.如果变量的值等于给定值列表中值的任何一个
,则返回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.33.11  11.4;PROC PRINT DATA = MYDATA1;RUN;

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

operators_comparison

最小/最大运算符

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

运算符描述示例
MINMIN运算符.它从行中的值列表返回最小值.MIN(45.2,11.6,15.41)给出11.6
MAXMAX运算符.它从行中的值列表返回最大值.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.0123.11  11.4 18.512;PROC PRINT DATA = MYDATA1;RUN;

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

operators_minmax

连接运算符

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

运算符描述示例
||连接运算符.它返回两个或多个值的串联.'Hello'||'World'给出Hello World

示例

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

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

operators_concate

运算符优先级

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

订单符号
第一组权利左** +  -  NOT MIN MAX
第二组从左到右*/
第三组从左到右+  -
第IV组从左到右||
第V组从左到右< < = => =>