29
SAS實習課 2012/09/27 認知所 碩二 許景淳 E-mail : [email protected]

0927 sas實習課

  • Upload
    -

  • View
    1.061

  • Download
    13

Embed Size (px)

Citation preview

Page 1: 0927 sas實習課

SAS實習課

2012/09/27

認知所 碩二 許景淳

E-mail : [email protected]

Page 2: 0927 sas實習課

大綱

輸入資料

1. 欄位讀取法(Column mode)

2. 簡列讀取法(List Mode)

3. 格式讀取法(Formatted mode)

Page 3: 0927 sas實習課

輸入資料語法

DATA XXX;

INPUT A B C D;

CARDS;

PROC PRINT;

RUN;

放數據進來

;

建構一個SAS資料檔

輸入變項的名稱

數據輸入區

要執行的工作程式碼

Page 4: 0927 sas實習課

SAS資料檔的檔名

• DATA XXX

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

2. 檔名不能有空白

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

Page 5: 0927 sas實習課

INPUT變項類型

1. 文字型:NAME, SEX

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

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

Page 6: 0927 sas實習課

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

• PROC步驟-處理SAS資料檔

• SAS撰寫特性-

(1) 以 ; 做結尾

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

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

(4) /* XXX*/ 註解

Page 7: 0927 sas實習課

輸入資料

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

編號 身高 體重 年齡

1 170 65 23

2 158 40 20

3 163 51 18

Page 8: 0927 sas實習課

1. 欄位讀取法(column mode)

指定資料起迄位置

Page 9: 0927 sas實習課
Page 10: 0927 sas實習課

Column Input的特性

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

料需在指定的行上。

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

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

Page 11: 0927 sas實習課

• 缺點:

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

正確的變項。

– 例Number Age Rank

001 18 1

002 20 2

正確

錯誤

Page 12: 0927 sas實習課

2. 簡列讀取法(List Mode)

Page 13: 0927 sas實習課
Page 14: 0927 sas實習課

List Input的特性

• 資料之間要有空格。

• 文字變項不可含空格。

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

• 最常使用此輸入法

Page 15: 0927 sas實習課

3. 格式讀取法(Formatted mode)

指定開始字元位置(@)

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

Page 16: 0927 sas實習課
Page 17: 0927 sas實習課

Formatted Input的特性

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

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

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

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

Page 18: 0927 sas實習課

• 缺點:

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

– 例Name Age Rank

Tom 18 1

Mary 20 2

正確

錯誤

Page 19: 0927 sas實習課

範例

名字 身高 體重 年齡 性別

Tom 170 65 23 M

Jimmy 158 40 20 F

Mary 163 51 18 M

Page 20: 0927 sas實習課

欄位讀取法

名字和性別是文字變項

所以必須加上 $

Page 21: 0927 sas實習課

簡列讀取法

Page 22: 0927 sas實習課

格式讀取法

Page 23: 0927 sas實習課

• 有一份資料如下:

ID上站

次數

文章

數目

有無

個版性別

aoieishy 553 83 Y M

liangyu 43 2 N F

Ellips 593 66 M

Page 24: 0927 sas實習課

欄位讀取法

遺漏值可用空格或 . 表示

需計算行數

Page 25: 0927 sas實習課

簡列讀取法

遺漏值必須用 . 表示

Page 26: 0927 sas實習課

格式讀取法

遺漏值可用空格或 . 表示

需計算位元數

Page 27: 0927 sas實習課

• 由此範例可以看出

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

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

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

故我們最常使用此輸入法

Page 28: 0927 sas實習課

摘要

• 欄位讀取法

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

• 簡列讀取法

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

• 格式讀取法

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

Page 29: 0927 sas實習課

END