SAS / PC
七、 範 例 七 : 函數 (FUNCTIONS) 及條件敘述 (IF) 的使用
程式檔名稱 : SAMPLE7 | ||||
DATA CONTROL; | ||||
INPUT TREAT $ BONE FAT CARWT; | 欄位名稱 TREAT 處理 | |||
BONE 骨重 | ||||
FAT 脂肪重 | ||||
CARWT 屠體重 | ||||
IF TREAT >'K' THEN DELETE; | 處理代碼大於 K 者刪去該筆資料 | |||
IF TREAT='A' THEN CP=10; | 利用處理代碼產生新欄位以表示 | |||
IF TREAT='B' THEN CP=11; | 原來處理組使用飼料之粗蛋白 (CP) | |||
IF TREAT='C' THEN CP=12; | 含量 | |||
IF TREAT='D' THEN CP=13; | ||||
IF TREAT='E' THEN CP=14; | ||||
IF TREAT='F' THEN CP=15; | ||||
IF TREAT='I' THEN CP=16; | ||||
IF TREAT='J' THEN CP=17; | ||||
IF TREAT='K' THEN CP=18; | ||||
IF CARWT LT 70 THEN DO; | 屠體重小於(LT) 70 公斤者,骨重及脂肪重設 | |||
BONE= .; | 定為缺值,不進入分析,執行指令至第一個 | |||
FAT= .; | END 為止 | |||
END; | ||||
ELSE DO; | 屠體重大於或等於 70 公斤者(ELSE=NOT IF), | |||
IF BONE=0 THEN BONE= .; | 執行以下指令,至第二個 END 為止。如骨重 | |||
IF FAT=0 THEN FAT= .; | 及脂肪重為零者表示漏秤重量,亦設定為缺值 | |||
FATPER=FAT/CARWT; | 產生新欄位脂肪百分率(FATPER) 及骨重百分率 | |||
BONEPER=BONE/CARWT; | (BONEPER) | |||
FATSQR=SQRT(FATPER); | 將脂重百分率開根號,產生新欄位 FATSQR | |||
FATACS=ARSIN(FATSQR); | 將 FATSQR 取 ARCSINE,產生新欄位 FATACS | |||
BONEPER=BONEPER*100; | 將骨重百分率 * 100 轉換為 % 表示 | |||
LOGBON=LOG10(BONEPER); | 將骨重百分率計算以 10 為底之 LOG 值 | |||
END; | ||||
CARDS; | ||||
A | 5.9 | 15.0 | 65.3 | 原始資料集輸入 |
B |
6.7 |
14.3 | 87.2 | |
C | 7.1 | 12.4 | 98.9 | |
D | 5.9 | 14.3 | 99.4 | |
E | 4.8 | 13.2 | 95.2 | |
F | 5.9 | 0.0 | 94.5 | |
G | 0.0 | 17.5 | 96.8 | |
H | 7.9 | 12.6 | 97.5 | |
I | 5.8 | 18.7 | 98.5 | |
J | 6.9 | 15.8 | 86.4 | |
K | 5.5 | 14.4 | 95.8 | |
L | 6.4 | 16.3 | 94.5 | |
M | 7.3 | 17.2 | 95.9 | |
RUN;
|
產生資料集
|
|||
PROC PRINT NOOBS; | 將各項控制、運算後所產生的新資料集印出 | |||
RUN; | (表 7-1) | |||
表 7-1
TREAT |
BONE |
FAT |
CARWT |
CP |
FATPER |
BONEPER |
FATSQR |
FATACS |
LOGBON |
A |
. |
. |
65.3 |
10 |
. |
. |
. |
. |
. |
B |
6.7 |
14.3 |
87.2 |
11 |
0.16399 |
7.68349 |
0.40496 |
0.41693 |
0.88556 |
C |
7.1 |
12.4 |
98.9 |
12 |
0.12538 |
7.17897 |
0.35409 |
0.36194 |
0.85606 |
D |
5.9 |
14.3 |
99.4 |
13 |
0.14386 |
5.93561 |
0.37929 |
0.38903 |
0.77347 |
E |
4.8 |
13.2 |
95.2 |
14 |
0.13866 |
5.04202 |
0.37236 |
0.38156 |
0.70260 |
F |
5.9 |
. |
94.5 |
15 |
. |
6.24339 |
. |
. |
0.79542 |
G |
. |
17.5 |
96.8 |
. |
0.18079 |
. |
0.42519 |
0.43917 |
. |
H |
7.9 |
12.6 |
97.5 |
. |
0.12923 |
8.10256 |
0.35949 |
0.36772 |
0.90862 |
I |
5.8 |
18.7 |
98.5 |
16 |
0.18985 |
5.88832 |
0.43572 |
0.45083 |
0.76999 |
J |
6.9 |
15.8 |
86.4 |
17 |
0.18287 |
7.98611 |
0.42763 |
0.44187 |
0.90234 |
K |
5.5 |
14.4 |
95.8 |
18 |
0.15031 |
5.74113 |
0.38770 |
0.39814 |
0.75900 |