剛使用SAS或SPSS等統計軟體時,除了操作介面外,還要適應統計軟體處理資料的方式,以及資料整理的格式。
在唸統計課本的時候,資料常常長的像這個樣子
A B
60 75
70 66
kenshin528 發表在 痞客邦 留言(0) 人氣(1,191)
要如何合併多個檔案我想是很多人在資料處理時很容易遇到的問題。
以人力資源調查資料庫為例,這是一個長達二十幾年,每個月都調查的資料,也就是說一年有十二個檔案,總共有二十幾年,為了怕弄混,每一個月份的檔案都存在不同資料,然後每十二個月的檔案又放在一個資料夾中。若要一個一個打開,複製貼上一定會浪份不少時間。
先不考慮每年的coding是否相同,我先以合併同一年份的檔案為例。
%macro LB95;
%let m = 01 02 03 04 05 06 07 08 09 10 11 12;
kenshin528 發表在 痞客邦 留言(1) 人氣(2,917)
分析資料也是講求策略的。考量的原因無他,就看這筆資料的結構以及問題為何。資料結構在上一篇文章提過,這裡就不加贅述。那我要處理的問題為:挑出特定變數。這些變數包括了:
1.挑出家戶長配偶
2.挑出該家戶的收入支出變項
3.計算各家庭人口數,以及老人數目
在思考這個問題的時候,要注意
1. 資料結構為家戶資料,假使照著主計處提供的SAS檔案,我們得到的是一筆一筆的家戶資料。家裡不同人口特質的變項,問卷提供近五十組的位置可以填寫,所以也不確定家戶長和其配偶在哪個變項。
2. 同時由於這筆資料在收入支出的部份是分為400組變項,每組變項都包括(收入支出代號)和(收入支出金額)這兩部份,所以我們也不確定每筆資料的收入支出會在同一個位置。
3. 沒有變項說家裡有幾個人。
當然,案主給我問題的時候,並不會特別幫我將問題依照期性質分類。是因為這三個問題在其資料結構上有其實質上的差異,所以我才會分為這三個問題。
1. 第一個問題主要是要整理家戶長及其配偶的人口資料,本質上是以人為單位的資料。
2. 收入和支出都是以家庭為單位。
3. 家裡人口數基本上可以用家庭為單位計算,或是轉換成個人資料來計算。
所以我的策略就是:
1. 加以家戶為單位的資料轉換為以個人為資料。
2. 以個人資料來處理家戶長和配偶的人口資料,同時來計算家裡人口。
3. 用家戶資料來找家庭的收入和支出。
由於案主要的是家戶資料,所以最後在將個人資料轉換成家戶資料,再將三者合併整理就好。
kenshin528 發表在 痞客邦 留言(0) 人氣(166)
台灣家庭收支暨所得分配是行政院主計處下面的一個計畫。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。
kenshin528 發表在 痞客邦 留言(0) 人氣(313)