SAS中的運(yùn)算符是在數(shù)學(xué),邏輯或比較表達(dá)式中使用的符號(hào)。 這些符號(hào)內(nèi)置到SAS語(yǔ)言中,并且許多運(yùn)算符可以組合在單個(gè)表達(dá)式中以給出最終輸出。
以下是SAS運(yùn)算符類別的列表。
我們逐一觀察。 運(yùn)算符總是與作為由SAS程序分析的數(shù)據(jù)的一部分的變量一起使用。
下表介紹了算術(shù)運(yùn)算符的詳細(xì)信息。 讓我們假設(shè)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.20 5.3 3.11 1.1 ; PROC PRINT DATA=MYDATA1; RUN;
在運(yùn)行上面的代碼,我們可以得到下面的輸出。
下表描述了邏輯運(yùn)算符的詳細(xì)信息。 這些運(yùn)算符可以計(jì)算表達(dá)式的真值。 因此,邏輯運(yùn)算符的結(jié)果總是1或0.我們假設(shè)兩個(gè)數(shù)據(jù)變量V1和V2的值分別為8和4。
操作者 | 描述 | 例 |
---|---|---|
& | AND運(yùn)算符。 如果兩個(gè)數(shù)據(jù)值都為真,則結(jié)果為1,否則為0。 | (V1< 2 & V2> 3)的真值為0 (V1< 2 & V2< 3)的真值為0 (V1> 2 & V2< 3)的真值為0 (V1 > 2 & V2> 3)的真值為1 |
| | OR運(yùn)算符。 如果任何一個(gè)數(shù)據(jù)值求值為真,則結(jié)果為1,否則為0。 | (V1> 9 | V2> 3)的真值為1 (V1> 9 | V2< 3)的真值為0 (V1< 9 | V2> 3)的真值為1 (V1< 9 | V2< 3)的真值為1 |
? | NOT運(yùn)算符。 NOT運(yùn)算符以值為FALSE或缺少值的表達(dá)式形式的結(jié)果為1,否則為0。 | (V1> 3)的真值為1。 ~(V1> 3)的真值為0。 |
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;
在運(yùn)行上面的代碼,我們可以得到下面的輸出。
下表描述了比較運(yùn)算符的詳細(xì)信息。 這些運(yùn)算符比較變量的值,結(jié)果是真值,1表示TRUE,0表示False。 讓我們假設(shè)分別具有值8和4的兩個(gè)數(shù)據(jù)變量V1和V2。
操作者 | 描述 | 例 |
---|---|---|
= | EQUAL運(yùn)算符。 如果兩個(gè)數(shù)據(jù)值相等,則結(jié)果為1,否則為0。 | (V1 = 8)給出1。 |
^ = | NOT EQUAL運(yùn)算符。 如果兩個(gè)數(shù)據(jù)值不相等,則結(jié)果為1,否則為0。 | (V1 ^ = V2)給出1。 |
< | LESS THAN運(yùn)算符。 | (V2 <V2)提供1。 |
<= | 小于或等于運(yùn)算符。 | (V2 <= 4)給出1。 |
> | 大于運(yùn)算符。 | (V2> V1)給出1。 |
> = | 大于或等于運(yùn)算符。 | (V2> = V1)給出0。 |
在 | IN運(yùn)算符。 如果變量的值等于給定值列表中的任何一個(gè)值,則返回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;
在運(yùn)行上面的代碼,我們可以得到下面的輸出。
下表描述了最小/最大運(yùn)算符的詳細(xì)信息。 這些運(yùn)算符比較一行中變量的值,并返回行中的值列表中的最小值或最大值。
操作者 | 描述 | 例 |
---|---|---|
MIN | MIN運(yùn)算符。 它從行中的值列表返回最小值。 | 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 9.012 3.11 11.4 18.512 ; PROC PRINT DATA=MYDATA1; RUN;
在運(yùn)行上面的代碼,我們可以得到下面的輸出。
下表描述了Concatenation運(yùn)算符的詳細(xì)信息。 此運(yùn)算符連接兩個(gè)或多個(gè)字符串值。 返回單個(gè)字符值。
操作者 | 描述 | 例 |
---|---|---|
|| | 連接運(yùn)算符。 它返回兩個(gè)或多個(gè)值的連接。 | 'Hello'||'World' 輸出 HelloWorld |
DATA MYDATA1; input COL1 $ COL2 $ COL3 $; concat_ = (COL1 || COL2 || COL3); datalines; Tutorial s point simple easy learning ; PROC PRINT DATA=MYDATA1; RUN;
在運(yùn)行上面的代碼,我們可以得到下面的輸出。
運(yùn)算符優(yōu)先級(jí)表示復(fù)雜表達(dá)式中存在的多個(gè)運(yùn)算符的求值順序。 下表描述了一組運(yùn)算符中的優(yōu)先順序。
組 | 順序 | 符號(hào) |
---|---|---|
第一組 | 右到左 | ** + - NOT MIN MAX |
第二組 | 左到右 | * / |
第三組 | 左到右 | + - |
第四組 | 左到右 | || |
第五組 | 左到右 | <<= => => |
更多建議: