在健保資料中,若要看每年的承保人數、醫護人員數、慢性病盛行人數,若未留意這些資料在各年是不連貫的, 例如承保檔只存在加保與退保的記錄, 若無變更, 中間的各年間是不會有資料的;

在健保資料庫中定義了糖尿病的發生資料,若想看糖尿病的盛行趨勢, 若中間有未就醫的記錄, 例如就醫年份為1997,1998,2000,2001,2003,2004,2005,但19992002年未就醫,對於一旦確定是糖尿病的患者,若非死亡的因素,應該一直為疾病盛行人口, 但患者若有一段時間未就醫, 如何觀察盛行率的長期趨勢?

以下介紹簡單的補值, 程式中建立2筆資料, 資料的起迄年份為IN_YEAR, OUT_YEAR, 利用DO /END的迴圈,以及OUTPUT指令即可將中間各年的資料補上。

迴圈自IN_YEAR跑到OUT_YEAR, 迴圈每跑一圈, 年份自動加 1, 新產生的年份置入新變數YEAR, 此時以OUTPUT將新的迴圈結果輸出, 一直遞迴至迴圈結束為止。 



 [程式]
data aa;
input id $ in_year out_year dm;
do year=in_year to out_year;
output;
end;
cards; /*-DM
1即糖尿病患者---*/
A01 1996 2002 1 
A02 1997 2004 1
;
proc print;
run;

 

 [結果]

SAS_補值  

arrow
arrow
    文章標籤
    資料不連貫的補值 SAS
    全站熱搜

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