0927 sas實習課

Preview:

Citation preview

SAS實習課

2012/09/27

認知所 碩二 許景淳

E-mail : honli1027@gmail.com

大綱

輸入資料

1. 欄位讀取法(Column mode)

2. 簡列讀取法(List Mode)

3. 格式讀取法(Formatted mode)

輸入資料語法

DATA XXX;

INPUT A B C D;

CARDS;

PROC PRINT;

RUN;

放數據進來

;

建構一個SAS資料檔

輸入變項的名稱

數據輸入區

要執行的工作程式碼

SAS資料檔的檔名

• DATA XXX

1. 檔名必須以英文字母開始

2. 檔名不能有空白

3. 每個資料檔給予不同名稱

INPUT變項類型

1. 文字型:NAME, SEX

需用 $ 來宣告變項為文字變項。

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

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

• PROC步驟-處理SAS資料檔

• SAS撰寫特性-

(1) 以 ; 做結尾

(2) 英文大小寫皆可使用

(3) SAS指令可在同一列, 也可橫跨數行

(4) /* XXX*/ 註解

輸入資料

• 現在有一份資料如下,用各種輸入法輸入

編號 身高 體重 年齡

1 170 65 23

2 158 40 20

3 163 51 18

1. 欄位讀取法(column mode)

指定資料起迄位置

Column Input的特性

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

料需在指定的行上。

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

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

• 缺點:

– 若數值超過該變項指定行數,會被SAS對應到不

正確的變項。

– 例Number Age Rank

001 18 1

002 20 2

正確

錯誤

2. 簡列讀取法(List Mode)

List Input的特性

• 資料之間要有空格。

• 文字變項不可含空格。

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

• 最常使用此輸入法

3. 格式讀取法(Formatted mode)

指定開始字元位置(@)

與每筆資料的長度(0.)

Formatted Input的特性

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

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

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

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

• 缺點:

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

– 例Name Age Rank

Tom 18 1

Mary 20 2

正確

錯誤

範例

名字 身高 體重 年齡 性別

Tom 170 65 23 M

Jimmy 158 40 20 F

Mary 163 51 18 M

欄位讀取法

名字和性別是文字變項

所以必須加上 $

簡列讀取法

格式讀取法

• 有一份資料如下:

ID上站

次數

文章

數目

有無

個版性別

aoieishy 553 83 Y M

liangyu 43 2 N F

Ellips 593 66 M

欄位讀取法

遺漏值可用空格或 . 表示

需計算行數

簡列讀取法

遺漏值必須用 . 表示

格式讀取法

遺漏值可用空格或 . 表示

需計算位元數

• 由此範例可以看出

– 當變項數據長度不等時,使用欄位讀取法和格

式讀取法很不方便,需經過計算

– 簡列輸入法只需以空格隔開各變項數據即可,

故我們最常使用此輸入法

摘要

• 欄位讀取法

– 需計算行數,遺漏值可以空格或 . 表示

• 簡列讀取法

– 最簡單常用,遺漏值只能用 . 表示

• 格式讀取法

– 需計算位元數,遺漏值可以空格或 . 表示

END

Recommended