2012年3月13日 星期二

SAS基本練習

這學期選修了GLM課程,作業必須由SAS完成。
由於只有寫作業時會用到SAS,其實平時跟很多基本功能並不熟悉,
所以有些在SPSS或Excel 可以輕易執行的任務,到SAS中卻變得困難重重。
今天主要卡在兩段程式碼。
1.建立永久檔。
2.將資料分類。
建立永久檔的問題花了2個小時之後解決,原因是老師給錯程式碼,
所以參考其他網頁之後自行修改就解決了。
將資料分類這個問題目前還沒有找到解決方法。
SAS的 log note一直顯示它讀不到Age變數
但是我檢查資料檔,明明Age都可以print 出來,
查了網頁也沒有找到解決的辦法。
只好先記在部落格,明天繼續。

目前的程式碼

data glm.a12;
set a12;
Year=Substr(Birth,1,4);
Month=Substr(Birth,5,2);
Day=Substr(Birth,7,2);
Sex=Substr(ID,2,1);
Age=2012-Year;
run;

proc print data=glm.a12;
run;

data glm.a12;
set a12;
if Age<30  then agegroup='g1';
else if Age>50 then agegroup='g3';
else if Age>=30 & Age <=50 then agegroup='g2';
run;


題目
A.        利用import procedure將資料a1檔案匯入SAS
B.         利用內建資料方式將a2檔案的20筆體重資料建入SAS
(依照個案編號001-020分別為 50, 65, 87, 66, 52, 45, 66, 90, 84, 48, 75, 89, 73, 55, 42, 76, 60, 52, 50, 90)
C.         合併a1a2檔成為a12檔,此a12檔內含20個個案的所有資料。
D.        a12檔變成永久檔所有人生日依年月日建立三個新變項 (例如:某人birth欄位為19550306,則建立Year欄位為1955Month欄位為03Day欄位為06)
依照此檔案建立sex(性別)age(年齡/2012年為準)變項,並將所有人依年齡分成3(新的變項名稱為agegroup<30歲為g1, 30-50g2, >50g3)

沒有留言:

張貼留言