SAS / PC
十二、 範 例 十二: 平均值計算 ( PROC MEANS )
程式檔名稱 :
SAMPLE12
|
|||||
DATA TEST; | |||||
INPUT TREAT $ BLOCK GAIN; | 輸入試驗資料 | ||||
CARDS; | |||||
A | 1 | 1.1 | TREAT 處理 | ||
B | 2 | 2.3 | BLOCK 區集 | ||
A | 2 | 3.0 | GAIN 增重 | ||
A | 2 | 1.4 | |||
B | 1 | 2.1 | |||
B | 1 | 3.7 | |||
A | 1 | 1.8 | |||
B | 2 | 2.2 | |||
A | 2 | 3.1 | |||
A | 2 | 1.7 | |||
B | 1 | 2.4 | |||
B | 1 | 3.1 | |||
; | |||||
RUN;
|
|||||
PROC MEANS MEAN STDERR | 計算平均值 (MEAN)、標準機差 (STDERR) | ||||
STD N MAXDEC=3; | 標準偏差 (STD)、樣品數 (N)並設定輸出 | ||||
報表資料之小數位數, 最多到小數位數第3位 | |||||
如只輸入 PROC MEANS; 則連最大值及最小值 | |||||
等均會輸出 | |||||
CLASS TREAT BLOCK; | 依TREAT、BLOCK 分類計算小區內之各項統計值 | ||||
VAR GAIN; | 計算之欄位變數為 GAIN (表 12-1) | ||||
ID TREAT BLOCK; | 以TREAT、BLOCK欄位作為輸出個項統計值之識別 | ||||
OUTPUT OUT=NEWTEST | 新的資料集名稱為 NEWTEST | ||||
N=NUMBER | 輸出的統計值為樣品數 (N) 及平均值 (MEAN), | ||||
MEAN=MEAN; | 新的欄位名稱為 NUMBER 及 MEAN | ||||
RUN;
|
|||||
DATA NEWTEST; | |||||
SET NEWTEST; | 將新的資料集取出 | ||||
KEEP TREAT BLOCK NUMBER MEAN; | 只保留 TREAT、BLOCK、NUMBER、MEAN等欄位 | ||||
IF TREAT LT 'A' THEN DELETE; | , 並將 TREAT 或 BLOCK 的合併總平均刪去 | ||||
IF BLOCK LT 1 THEN DELETE; | |||||
RUN; | |||||
PROC PRINT; | 印出新的資料檔之 TREAT、BLOCK、N、MEAN 等 | ||||
RUN;
|
欄位 (表 12-2)
|
||||
表 12-1 | |||||
Analysis Variable : GAIN |
TREAT | BLOCK | N Obs |
N |
Mean | Std Dev | Std Error |
-------------------------------------------------------------------------------------------- | ||||||
A |
1 | 2 | 2 | 1.450 | 0.495 | 0.350 |
2 | 4 | 4 | 2.300 | 0.876 | 0.438 | |
B |
1 | 4 | 4 | 2.825 | 0.718 | 0.359 |
2 | 2 | 2 | 2.250 | 0.071 | 0.050 | |
------------------------------------------------------------------------------------------ |
表 12-2
OBS | TREAT | BLOCK | NUMBER | MEAN |
1 | A | 1 | 2 | 1.450 |
2 | A | 2 | 4 | 2.300 |
3 | B | 1 | 4 | 2.825 |
4 | B | 2 | 2 | 2.250 |