image
 
有許多的軟體可以繪製地圖,例如ArcGIS、QGIS等地理信息系統軟體,簡稱GIS軟體(Geographic Information System)但今天想利用SAS統計軟體介紹台灣地圖的繪製,程式參考SAS公司的部落格文章 ( 如何繪製地圖圖表 - SAS Taiwan )。

estat 發表在 痞客邦 留言(0) 人氣()

image
過去的文章曾介紹過ifn函數、dif函數、first.variable三種指令,這次,想以這三個指令,來介紹健保資料庫分析中的疾病定義。

estat 發表在 痞客邦 留言(0) 人氣()

封面02(button)-01 (1).jpg
 
當您在分析健保資料時,一次要定義幾個診斷碼,甚至許多的疾病,有什麼SAS程式指令是有效率又好維護的呢?
這是
#以斯帖統計 的Youtube頻道新單元,這個單元是健保資料分析課程的Sophie老師為我們錄製影片!影片中介紹 #array指令 的操作,當您知道如何使用這指令,將更有效率地執行相似的重覆動作,例如將門診3組診斷碼定義為特定的疾病。

estat 發表在 痞客邦 留言(0) 人氣()

封面01(button)-01.jpg
 
本單元介紹如何自動儲存 SAS中的logoutput輸出結果到指定檔案,如果我們利用SAS程式,將資料logoutput輸出結果自動儲存到硬碟中指定的位置,可以寫以下程式,而詳細的說明請看Sophie老師的影片介紹。

estat 發表在 痞客邦 留言(0) 人氣()

以下將介紹 first.variable 與 last.variable 的應用 , 利用這兩個指令,完成以下三項任務
   (1)歸戶
   (2)定義第幾次就醫記錄
   (3)定義門診就醫三次以上;

estat 發表在 痞客邦 留言(1) 人氣()

 
 健保資料分析時,會遇到循環性的資料處理步驟,以1:1個案配對(individual matching)的資料處理過程為例,1個暴露個案(cohort study exposure)1個病例個案(case-control study 中的 case)依特定條件配到1個對照個案,此時要將該對照個案從對照組的抽樣母體中扣除,再繼續找下一個exposurecase的對照個案,直到對照組的個案建立完成,因此是由巨集指令(Macro Language)的迴圈進行此連續動作。而扣除的方式是以身份證號(ID)以及生日(ID_birthday)做為關鍵變項(key variable),將被抽中者從抽樣母體中扣除,因此在對照組的抽樣母體中再也找不到該位病人的資料,因此不會被之後的exposurecase再抽中,以致相同的對照個案有重覆出現的情形。

estat 發表在 痞客邦 留言(0) 人氣()




estat 發表在 痞客邦 留言(0) 人氣()


 
過去曾經介紹過以SASIFN(), LAG()等函數將資料向下垂直移動,但SAS可否有LAG()函數的相反函數,也就是將資料垂直向上移動的函數,答案應該是沒有的,但可透過PROC EXPAND程序執行資料的垂直向上以及向下的移動,甚至是移動數個列數,該語法屬於Time series(時間序列)的應用。
【程式一】建立範例資料,資料中包含ID(身份證號)sex(性別)Birthday(生日)date (就醫日期)
 
【程式一】
data aa;
        input id $ sex $ birthday yymmdd10. +1 date yymmdd10.;
        format birthday date yymmdd10.;
cards;
A01 F 1958-01-04 2001-02-03
A01 F 1958-01-04 2004-05-06
A02 M 1964-07-08 2004-12-11
A02 M 1964-07-08 2005-01-03
A02 M 1964-07-08 2006-11-13 
;
proc print;
run;

 
【程式二】
以下利用proc expand 進行資料的向上與向下移動,移動後的資料檔名為work.bb,移動的依據為IDbirthday。再利用convert指定將資料作轉換,convert的指令為CONVERT variable = newname … </options>;  等號左邊放要被轉換的變項,等號右邊為轉換後的變項透過transformout=(lag)可以將資料往下移動,transformout=(lead)將資料往上移動。若在laglead後面加上數字,則是移動的列數。也可以利用id指令取代by而作為資料移動的依據,但是id指令後面只能放數值型資料,包括日期格式的資料。
 
/*-移動日期--*/
proc expand data=aa out=bb method = none; 
        by id birthday;
        convert date = date_lag1 / transformout=(lag); 
        convert date = date_lead1 / transformout=(lead); 
        convert date = date_lag2 / transformout=(lag 2); 
        convert date = date_lead2 / transformout=(lead 2); 
proc print;
run;

 
【結果】
proc_expand  
 Reference
http://goo.gl/q0mM1R

estat 發表在 痞客邦 留言(0) 人氣()

 
在資料分析時,經常遇到資料格式不是我們預期的,例如日期為文字型態,因此無法計算研究對象的年齡、或與時間有關的所有日期資料,或是資料合併時,發現兩個檔的資料型態不同,以致資料無法合併。以下將簡介SAS中的PUT()INPUT()等函數的應用。

estat 發表在 痞客邦 留言(0) 人氣()

Cox-regression
 
   若研究者想做一張單變項的回歸分析表, 當要看的影響因子愈多, 要進行的單變項回歸分析次數愈多, 於是要反覆執行很多的model, 透過巨集指令功能,即能快速執行完所有的model
    以下同樣要介紹SAS的巨集指令, 以及搭配ODS(Output Delivery System)功能, 以快速產生COX-REGRESSION的統計表格
   如果研究者想看某族群的環境污染劑量與癌症的關係,於是進行劑量效應關係分析(DOSE-RESPONSE EFFECT),並利用在圖表中的範例資料進行分析, 該檔有幾個主要變項:stdno (研究序號), gender (性別), inage(開始曝露於環境污染源的年齡), foloow_up(觀查時間:), dose (環境污染物的劑量), ca1-ca22(各種癌症的欄位名稱, 且欄位中的1為有發生, 0為未發生)。(僅呈現10筆)



   

estat 發表在 痞客邦 留言(0) 人氣()


 
分層抽樣之基本觀念請參考另篇文章:分層隨機抽樣 (Stratified Random Sampling)  

 

estat 發表在 痞客邦 留言(0) 人氣()


 
分層抽樣之基本觀念請參考另篇文章:分層隨機抽樣 (Stratified Random Sampling)
以下為分層等比例隨機抽樣之SAS的應用:

estat 發表在 痞客邦 留言(0) 人氣()

1 2 3
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。