[筆記] 統計實習(1) SAS 基礎用法 (匯入資料並另存SAS新檔,SUBSTR,計算總和與平均,BMI)

使用版本
SAS 9.3 繁體中文

OS: windows xp

匯入資料並另存成SAS新檔

step 1: 匯入資料



step 2: 選擇匯入檔案類型


step 3: 去資料夾 Browse 找尋要匯入的資料檔案 (這裡我命名為Man)


step 4: 選好檔案後按OK


step 5: 然後按Next


step 6: 成功匯入excel資料  (我命名為 Man),欲找尋這個檔案在哪 -> 按左側的資料館


step 7: 再選Work資料夾


step 8: 就會看到剛剛被我命名的 Man 檔案資料


step 9: 做些簡單的資料分析,在Editor視窗中寫code
            Data test;
            set man;
            run;
            以上code做的事會把這個 man (大小寫沒差)資料表複製一份,另命名成 test 存起來


step 10: 要複製另存成SAS檔,使用libname語法 後面放 目錄名稱'檔案路徑'
              這裡的目錄名稱為 J 路徑為 '   ' 之中。                     


step 11: 如此的code寫完,按下小人圖示提交執行程式


step 12: 會發現資料館裡面,多了一個名稱為 J 的資料夾目錄


step 13: 在 J 資料夾目錄裡面會成功看到被複製出來的名稱為 test 的資料


step 14: 實際跑到剛剛在 '   ' 之中的路徑看,也會看到test資料


SAS SUBSTR的用法

substr (sub string)顧名思義就是將一串文字當中切割出來一條子字串
語法為

新Table欄位名稱 = SUBSTR( Table欄位名稱 , 起始bit位置 , 要往後多少位元 )

常用於將日期年月日分別切割出來變成數字來運算

step 1: 在Editor當中輸入語法 以第一橫排 16/10/1986為例
要取得日期DAY要從time欄位的第1個bit開始往後切長度為2的位數,即會成功拿到16
如下:
DAY = SUBSTR (TIME,1,2);

依此類推,要取得月份,就要從time欄位第4個bit開始,往後切長度為2的位數,會拿到10
MM = SUBSTR(TIME,4,2);

要取得年份,就要從TIME(大小寫沒差別)欄位的第 ... 16/10/1986 -> 算一算發現是第七位開始,
往後算4位,會拿到1986
YEAR = SUBSTR(TIME,7,4);

按下執行後,去剛剛的 J 目錄裡面的 test看結果:

SAS 計算總和與平均

計算總和語法: 新欄位名稱 = sum(欄位名稱1, 欄位名稱2, ... );
計算平均語法: 新欄位名稱 = mean(欄位名稱1, 欄位名稱2, ... );
執行後可得結果如下




SAS 計算BMI值

BMI的公式為 體重(kg) / 身高的平方(m) 單位分別為公斤與公尺

由於原始資料的身高適用公分制
所以要先將身高 / 100 轉換成公尺如下 ( HT 在這裡為身高資料欄位名稱)
HT / 100

轉換成公尺之後再平方 -> 使用連乘符號 **2 來表示平方的運算
(HT/100)**2

最後公式為:
BMI = WT / (HT/100);

結果如下:






留言

這個網誌中的熱門文章

[筆記] CRLF跟LF之區別 --- 隱形的 bug

[ML筆記] Batch Normalization

[ML筆記] Ensemble - Bagging, Boosting & Stacking