當進行資料輸入時,最原始的方法就是用 Data step 的程式碼輸入變數名稱、標籤、屬性以及原始資料。但對於不熟悉這些設定和語法的使用者來說會造成很大的困擾。此外,純文字的資料輸入介面容易造成資料欄位錯誤的情況,一旦資料龐大,要找出錯位的地方會變得相當困難。所以很多使用者會利用 EXCEL 來輸入資料,再把資料導入 SAS 裡面。可是 EXCEL 並無法設定變數標籤和屬性,等導入 SAS 後,還是需要再一次用 data step 來重新設定。其實,SAS 裡面已經有一個資料輸入的視窗介面,雖然長的不是很好看,但是可以一次解決上述所說的問題。除此之外,還有其他利用 SAS 其他功能來輸入資料的方法,於是有人就在 SUGI 27 上面發表了一篇使用 SAS 資料輸入介面的教學文章。
裡面用了一個很小的資料來做教學範例資料集,如下所示:
VIEWTABLE
第一個方法也是最簡單的方法。
第一步驟,選擇工具列上的 Tools,再點選裡面的 Table Editor。
這時會看到一個類似 EXCEL 介面的視窗出現。
第二步驟,在 A 欄上點選滑鼠右鍵,接著選擇 Column Attributes。這個動作是拿來設定變數屬性。
然後就會看到一個變數屬性視窗介面。
第三步驟,在出現的變數屬性視窗裡面做下列的設定。
第四步驟,點選 Apply 按鈕進行確認。
第五步驟,在不關閉視窗的情況下,依序點選其他欄位繼續進行變數屬性設定。每設定好一個變數,記得按 Apply。
第六步驟,全部設定好之後,便可以關閉對話視窗。此時在資料輸入介面上面看到的欄位名稱是變數標籤,要顯示變數名稱,可選擇工具列上面的 View,再選擇 Column Names。
第七步驟,開始輸入資料。
第八步驟,點選工作列上的 File,然後點選 Save As 以儲存檔案。存好後就如下圖所示。
如果想要新增資料筆數,SAS 沒有辦法跟 EXCEL 一樣直接把資料填入,而必須先點選工具列上的 Edit,接著點選 Edit mode,再點選 Add Row 後才能繼續輸入。如下圖所示。
DATA CREATION AND DATA ENTRY USING THE ANALYST APPLICATION
這個方法是利用 SAS 內建的分析視窗(類似 SPSS 可以點選的介面)來輸入資料。
第一步驟,點選工具列上的 Solution → Analysis → Analyst。
第二步驟,點選 File → New。此時就會出現一個類似 EXCEL 的視窗,接著就可以直接輸入資料了。
和之前的 Viewtable 比較起來,這個方法最大的缺點就是沒有辦法設定變數屬性。這個缺點影響最大的地方在日期變數,因為他會把日期變數設定成字串變數。如果只是單純的數值變數和字串變數的話影響就會降低。好處是他可以任意的添加欄位,不用像 Viewtable 一樣要先進入 edit mode 才能重新編輯或新增資料。
DATA CREATION AND DATA ENTRY USING SAS/INSIGHT
這種方式是利用 SAS/INSIGHT 的功能來建立資料。
第一步驟,點選工具列上的 Solutions → Analysis → Interactive Data Analysis
第二步驟,點選 New 以建立新的資料集。
此時又會看到熟悉的類似 EXCEL 的介面,但是長的比 Viewtable 更醜了!
第三步驟,點選視窗最左上角的一個箭頭符號,會彈出一個小視窗,裡面有個 New Variable 選項,點下去!
第四步驟,會出現一個更醜的視窗,請輸入你要建立的變數個數。
以本文範例來說,輸入 7,然後按 OK,就會看到七個欄位在上面。
第五步驟,連點 A 欄兩次便可以開始定義變數屬性。
第六步驟,要設定變數格式,在工具列上選擇 Edit → Formats,若要設定日期變數,請再點選 Other。
這個方法和上兩個方法比較起來的唯一缺點是他並無法刪除已經輸入的欄位。可能需要經由 data step 才能做刪除欄位的動作。
USING THE FSEDIT PROCEDURE FOR DATA CREATION AND DATA ENTRY
最後一個方法是利用 PROC FSEDIT 的程序來呼叫出一個互動式視窗並完成資料輸入的動作。
第一步驟,輸入下列程式碼。
proc fsedit new = SAS-data-set;
run;
第二步驟,會出現下面這樣的視窗。可以輸入資料名稱、格式、長度、標籤。
第三步驟,開始輸入資料。
第四步驟,要輸入下一筆資料,得從工具列上選擇 Edit → Add New Record。
PROC FSEDIT 最大的缺點就是無法新增欄位。
無論上述哪一種方法,都可以讓使用者直接在 SAS 裡面建立資料集。如果要我推薦一個最好的方法,我推薦第一個 Viewtable。(因為我也只用過第一種方法。。。)
CONTACT INFORMATION
Ass. Prof. Dipl.Ing. Dr. Barbara Schneider
Institute for Medical Statistics
University of Vienna
Schwarzspanierstr. 17
A - 1090 Vienna
Austria
barbara.schneider@univie.ac.at