台灣家庭收支暨所得分配是行政院主計處下面的一個計畫。http://win.dgbas.gov.tw/fies/index.asp 家庭收支調查的網頁

這個資料一開始並不是我自己在用的,是別人委託的一個CASE,要我幫忙抓出其中幾個變項和簡單整理資料。還沒有看到DATA 之前,我心裡還以為這是個"簡單任務",不過就是挑變項而已,那有什麼難的。一拿到DATA點開後,天阿,我瞬間了解到這個CASE果然值錢>"< 這筆資料編排方式跟我以往使用的資料有許多差異,不但如此,變項足足有1000個以上= = 雖然一般這種政府統計資料都會附有語法檔,但是因為第一次見到這種編碼方式,我光是研究CODEBOOK、問卷和DATA就花了一個多小時,才得以理解。 以上是抱怨,接下來就看一下這個語法檔的部份,由於這個資料並沒有開放免費下載,我僅用網站上提供的範例說明: DATA:
http://win.dgbas.gov.tw/fies/doc/Sample96.txt
因為原始資料太大啦~放不上來~請各位點一下上面的原始檔連結唄。(那絕不是廣告阿!!)

一般原始DATA會將一個CASE編成一列。
例如 01838457239857023750238752938752.......
在讀取檔案時,每一列分別代表一個case。但是這筆資料因為變項太多,上面這一個區塊都是屬於同一個CASE。(很驚人吧,我第一次看到也嚇了一大跳)

這筆資料以家戶為單位抽樣,調查大致分為三個部份
1.分別調查家中每個人口變項
2.家庭基本狀況
3.收入還有家庭總收支

光是"一個人"的人口變項就有近20個,由於每個家戶人數有所差異,一筆資料最大能夠容許50個人。另外收支項目共有十大類,每一大類裡面又有小類,零零總總加起來有近800種項目。由於變項太多了,就把資料以這種形式編碼,因此也以一種特別的方式來讀取檔案。每一列,前八個字是指樣本編號,也就是戶口編號,最後兩碼為判別式。讀取資料方式為,先判別最後兩碼,不同的判別式會對應不同的input變項,然後在以樣本編號來進行merge。最後兩碼判別式最多有到60還是70幾,內附的sas指令就是以if then指令一次抓出某一列變項,再以merge by戶口編號,將分開的變項合為同一case。


因此sas指令大略長成這樣:(非完整執行指令)

data part1;
set 原始檔案;
input @1 x1 $ 8 @9 cd 2 ;/*x1 表示讀取樣本編號 cd讀取判別式*/
if cd= 1 then do;
data part1;
input sex 1-2 ....;
end;

data all;
merge part1 part2 .......;
run;

類似這樣....不知道各位看官有沒有被弄暈阿~
arrow
arrow
    全站熱搜

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