- 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 組 | 從左到右 | < <= = >= > |
廣告