研究者在執行量化分析過程的第一步,就是要讀取資料,不同於一般的套裝軟體,SAS並沒有提供四四方方的儲存格讓使用者去輸入資料,因此研究者絕大部分都是要先keyin在外部檔案後再讀到SAS資料集裡,本文將分享比較清楚的資料集輸入方式及一些比較常用功能與大家做討論交流。

 

 

1.原始資料的位置

使用SAS去讀取原始資料有兩種情形,第一種是直接將原始資料直接輸入在SAS語法內,利用CARDS去告知系統所要輸入資料的部分,並以「;」宣告結束(如下圖一),但除非您今天只是想要做個小測試或show一個demo檔,否則不建議將資料輸入在SAS的語法裡去做分析;第二種方式是直接將資料輸入在外部的檔案裡,再以「INFILE」去做連結的動作(如下圖二),這是一般量化研究較常使用讀取資料的方式。

 

2.INPUT

在原始資料讀到資料集內,必須使用INPUT執行這個動作,以作為資料與變數的連結,若原始資料各數據之間並無空白欄位去區格,可以欄位輸入法去指定每一變數的欄位範圍,以達到變數資料連結的目的(如圖三);但如果數據之間若有空白去區隔,則可以以列名輸入法去讀取資料。

 

2.1欄位輸入法

此方法當變數一多時,似乎頗麻煩的,還要去定義欄位範圍,另外像健保資料庫data即是需要用欄位輸入法去輸入資料。

 


 

2.2列名輸入法

若使用列名輸入法,需注意有遺漏值的話,需以「.」表示;因為一般研究者應該都會好好對待自己的資料,所以在正常的情況下,用列名輸入法最為合適。


 

3.INFILE常用選項(皆放在INFILE的檔案連結後面)

END=variable

隨便指定一個變數名稱,之後此變數名稱裡的數值代表是否已處理到最後一列的資料,10否。(檢查功能)

 

FIRSTOBS=number

從第n列(or n個樣本)開始讀取資料

 

OBS=number

讀到第n列(or n個樣本)停止讀取資料

 

FLOWOVER

當變數個數超過一列的資料個數,當讀到某一列資料個數結尾時,多餘的變數將再從下一筆資料從第一個變數欄位開始讀取,且會出現以下訊息

MISSOVER

當變數個數超過一列的資料個數,當讀到某一列資料個數結尾時,多餘的變數將被視為遺漏值,再從下一筆資料從第一個變數欄位重新讀取

 

STOPOVER

若出現變數個數及每一列資料個數不吻合的情形,除非是研究者刻意,否則在資料方面可能是有問題的,若使用STOPOVER此選項,則在讀取資料時會在有問題的地方停止,並把已讀取的資料列印在LOG視窗


 

arrow
arrow
    全站熱搜

    晨晰部落格新站 發表在 痞客邦 留言(0) 人氣()