11/01 sas 快速複習

54
SAS 簡簡簡簡簡簡

Upload: -

Post on 30-Jun-2015

4.000 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: 11/01 SAS 快速複習

SAS 簡單快速複習

Page 2: 11/01 SAS 快速複習

Outline

• 三種資料輸入法• PROC MEANS• 強迫式 & 條件式執行• PROC UNIVARIATE• PROC FREQ• GOTO label• PROC SORT• PROC SUMMARY

Page 3: 11/01 SAS 快速複習

三種資料輸入法

Page 4: 11/01 SAS 快速複習

輸入資料語法DATA XXX;

INPUT A B C D;

CARDS;

PROC PRINT;RUN;

放數據進來;

建構一個 SAS 資料檔

輸入變項的名稱

數據輸入區

要執行的工作程式碼

Page 5: 11/01 SAS 快速複習

SAS 資料檔的檔名• DATA XXX1. 檔名必須以英文字母開始2. 檔名不能有空白3. 每個資料檔給予不同名稱

Page 6: 11/01 SAS 快速複習

INPUT 變項類型1. 文字型: NAME, SEX 需用 $ 來宣告變項為文字變項。

2. 數值型: ID, AGE, INCOME,RT…

Page 7: 11/01 SAS 快速複習

• DATA 步驟 - 用來建立或修改 SAS 資料

• PROC 步驟 - 處理 SAS 資料檔

• SAS 撰寫特性 - (1) 以 ; 做結尾 (2) 英文大小寫皆可使用 (3) SAS 指令可在同一列 , 也可橫跨數行 (4) /* XXX*/ 註解

Page 8: 11/01 SAS 快速複習

1. 欄位讀取法 (column mode)

指定資料起迄位置

Page 9: 11/01 SAS 快速複習

Column Input 的特性• Input 是以既定的行數位置來讀取,所以資

料需在指定的行上。

• 文字變項可以包含空格。

• 遺漏值可用 . 或是空格表示。

Page 10: 11/01 SAS 快速複習

2. 簡列讀取法 (List Mode)

Page 11: 11/01 SAS 快速複習

List Input 的特性• 資料之間要有空格。

• 文字變項不可含空格。

• 遺漏值必須用 . 表示,不可以空格。

• 最常使用此輸入法

Page 12: 11/01 SAS 快速複習

3. 格式讀取法 (Formatted mode)

指定開始字元位置 (@)與每筆資料的長度 (0.)

Page 13: 11/01 SAS 快速複習

Formatted Input 的特性• Input 是以指定的位置及長度來讀取,所以

資料需在指定的位置上,並對應正確長度。

• 文字變項可以包含空格。

• 遺漏值可用 . 或是空格表示。

Page 14: 11/01 SAS 快速複習

• 缺點:– 若數值超過該變項指定位元數,會被 SAS 排除。

– 例Name Age RankTom 18 1Mary 20 2

正確

錯誤

Page 15: 11/01 SAS 快速複習

摘要• 欄位讀取法– 需計算行數,遺漏值可以空格或 . 表示

• 簡列讀取法– 最簡單常用,遺漏值只能用 . 表示

• 格式讀取法– 需計算位元數,遺漏值可以空格或 . 表示

Page 16: 11/01 SAS 快速複習

PROC MEANS

Page 17: 11/01 SAS 快速複習

功用• 可用來計算基本的描述統計值

• 可針對配對資料進行統計檢定

Page 18: 11/01 SAS 快速複習

常用格式PROC MEANS options; VAR variables; BY variables; OUTPUT OUT= 輸出檔名 輸出的統計量 ;

Page 19: 11/01 SAS 快速複習

強迫式 & 條件式執行

Page 20: 11/01 SAS 快速複習

強迫式執行• 變項=被指派的值或函數

• 例如:– 常數的指派: N=20;– 文字的指派: sex=’female’;– 產生新變項: income=revenue-expenses;

Page 21: 11/01 SAS 快速複習

條件式執行• if……then……;else……;– if score < 60 then grade = ‘fail’; else grade = ‘pass’;

• if……then do;……end;– if major = ‘psycho’ then do; passing = 70; end;

Page 22: 11/01 SAS 快速複習

PROC UNIVARIATE

Page 23: 11/01 SAS 快速複習

功用• 可計算指定變數的基本敘述性統計量

– 集中趨勢指標 ( 眾數、中數、平均數 )

– 離散趨勢指標 ( 全距、四分位差、變異數、標準差 )

– 偏度、峰度

Page 24: 11/01 SAS 快速複習

常用格式PROC UNIVARIATE options; VAR variables; BY variables; OUTPUT OUT= 輸出檔名 輸出的統計量 ;

Page 25: 11/01 SAS 快速複習

PROC UNIVARIATE– DATA= 指定對哪個資料檔分析

– NOPRINT= 不產生報表

– PLOT= 莖葉圖 / 盒圖 / 常態機率圖

– FREQ= 次數分配表 ( 次數 / 百分比 / 累積百分比 )

– NORMAL= 檢定資料是否為常態分配

Page 26: 11/01 SAS 快速複習

OUTPUT 輸出統計量指令 說明 指令 說明N 有效觀察體數量 Q3 第三四分位數

NMISS 遺失的觀察體個數 MEDIAN 中位數NOBS 觀察體總數 Q1 第一四分位數MEAN 平均數 QRANGE Q3 - Q1

SUM 總和 P1 第 1 百分位數STD 標準差 P5 第 5 百分位數VAR 變異數 P10 第 10 百分位數

SKEWENESS 偏度 P90 第 90 百分位數KURTOSIS 峰度 P95 第 95 百分位數SUMWT 加權值總和 P99 第 99 百分位數MAX 最大值 MODE 眾數MIN 最小值 SIGNRANK 等級符號檢定

RANGE 全距 NORMAL 常態分配檢定

Page 27: 11/01 SAS 快速複習

PROC FREQ

Page 28: 11/01 SAS 快速複習

功用

• 用來建立指定變數的次數分配表或列聯表

• 亦可以算出卡方檢定的統計量

Page 29: 11/01 SAS 快速複習

常用格式PROC FREQ options; TABLES requests / options ; BY variables;

Page 30: 11/01 SAS 快速複習

PROC FREQ options

• DATA= SAS dataset– 指定要分析的資料集,若不指定則取最新建立的

• ORDER 指令

ORDER=freq 表格中的變數值按次數遞減輸出

ORDER=data 表格中的變數值以資料輸入順序輸出

ORDER=internal 表格中的變數值以系統預設順序輸出

ORDER=formatted 表格中的變數值以 FORMAT 敘述句定義的順序輸出

Page 31: 11/01 SAS 快速複習

TABLES 敘述句• 用以建立次數分配表&列聯表的描述

• 格式

• requests 是由欲用來建立表格的變數名稱構成

TABLES requests / options

敘述句 說明 TABLES a; 產生變數 a 的次數分配表 TABLES a c; 分別產生變數 a 和 c 的次數分配

表 TABLES a--e; 產生變數 a 到 e 的次數分配表

Page 32: 11/01 SAS 快速複習

兩個以上變數的交叉表敘述句 說明

TABLES a*b; 產生變數 a 和 b 的交叉分析表

TABLES a*(b c);

產生變數 a 和 b 的交叉分析表

產生變數 a 和 c 的交叉分析表

( 和 a*b a*c 是同樣的意義 )

TABLES a*b*c; 產生三層次的交叉分析表

Page 33: 11/01 SAS 快速複習

TABLES 敘述句• options – 一般選擇項

– 其他表資訊選擇項

– 禁止印出選擇項

Page 34: 11/01 SAS 快速複習

TABLES options• 一般選擇項– MISSING– 視遺失值為非缺失值,包含在分析中

– LIST– 指定二維以上表格不以列聯表方式輸出

– OUT=dataset– 產生一個輸出資料集,包含變數類別 & 次數分配

Page 35: 11/01 SAS 快速複習

DATA d1; INPUT a b sex $ @@;CARDS;1 1 F 3 1 F2 2 M 1 1 F. 2 M . 1 M2 2 M 2 2 .;RUN;PROC FREQ; TABLES a b sex; TITLE ' 無 MISSING 選項的結果 ';RUN;PROC FREQ; TABLES a b sex/missing; TITLE ' 有 MISSING 選項的結果 ';RUN;

Page 36: 11/01 SAS 快速複習

DATA d1; INPUT a b sex $ @@;CARDS;1 1 F 3 1 F2 2 M 1 1 F. 2 M . 1 M2 2 M 2 2 .;RUN;PROC FREQ DATA=d1; TABLES a*b sex; TITLE ' 未使用 LIST 選項指令 ';RUN;PROC FREQ DATA=d1; TABLES a*b sex / list; TITLE ' 使用 LIST 選項指令 ';RUN;

Page 37: 11/01 SAS 快速複習

DATA d1; INPUT a b sex $ @@;CARDS;1 1 F 3 1 F2 2 M 1 1 F. 2 M . 1 M2 2 M 2 2 .;RUN;PROC FREQ; TABLES a*b sex/list; TITLE ' 未使用 ORDER 指令時 ';RUN;PROC FREQ order=freq; TABLES a*b sex/list; TITLE ' 使用 ORDER=FREQ 指令時 ';RUN;

Page 38: 11/01 SAS 快速複習

TABLES options• 其他表選擇項– EXPECTED– 指定列印每個細格中的期望次數

– DEVIATION– 指定列印每個細格中的次數 & 期望次數的離差

– CUMCOL– 指定列印每個細格的累積百分比

Page 39: 11/01 SAS 快速複習

TABLES options• 其他表選擇項– MISSPRINT– 列印遺失值的次數,但不包含在其他統計量計算

– SPARSE– 指定列印 TABLES 敘述句中所有的變數組合

– CUMCOL– 指定列印每個細格的累積百分比

Page 40: 11/01 SAS 快速複習

TABLES options• 禁止印出選擇項– NOFREQ / NOPERCENT– 不列印列聯表中細格的 次數 / 百分比

– NOROW / NOCOL– 不列印列聯表中細格的 列 / 行 百分比

– NOPRINT– 不列印任何表格,但列印出其他選項的統計量

Page 41: 11/01 SAS 快速複習

DATA freq; INPUT x $ y $ @@;CARDS;A B B A . B A A B A A A B A A A A B A A B A A B;RUN;

PROC FREQ DATA=freq; TITLE ' 無 TABLE 敘述句 ';RUN;

PROC FREQ DATA=freq; TABLES x*y / LIST MISSPRINT; TITLE ' 具 MISSPRINT 選項的二因子次數分配表 ';

PROC FREQ DATA=freq; TABLES x*y / LIST SPARSE; TITLE ‘ 具 SPARSE 選項的二因子次數分配表 ';RUN;

Page 42: 11/01 SAS 快速複習

GOTO label

Page 43: 11/01 SAS 快速複習
Page 44: 11/01 SAS 快速複習

Result

Page 45: 11/01 SAS 快速複習

Return

Page 46: 11/01 SAS 快速複習

Result

Page 47: 11/01 SAS 快速複習

PROC SORT

Page 48: 11/01 SAS 快速複習

功用• 根據指定的變數將資料依序排列

• 排序後才能在其他 PROC 使用 BY 敘述句

Page 49: 11/01 SAS 快速複習

常用格式PROC SORT options; BY variables;

PROC SORT options :data= 要排序的資料檔out= 排序後的新資料名稱

Page 50: 11/01 SAS 快速複習
Page 51: 11/01 SAS 快速複習

Result

Page 52: 11/01 SAS 快速複習

PROC SUMMARY

Page 53: 11/01 SAS 快速複習

功用• 幾乎等於 PROC MEANS

• 與 PROC MEANS 的差異– PROC MEANS 會自動輸出結果– 無法算信賴區間– 無法做 t 檢定

Page 54: 11/01 SAS 快速複習

END