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