先從下載檔案談起。合併資料最終給使用者下載的壓縮檔中,將比照SRDA的下載檔案,提供下載資料說明(readme檔)、計畫說明、過錄編碼簿(codebook)及資料檔。其中資料說明及計畫說明為固定文件;過錄編碼簿及資料檔則依使用者選擇的變數即時產生文件與資料。資料檔預計提供SAS、SPSS、STATA三種統計軟體格式,但為減低系統建置的成本及系統的負擔,三種格式都將以程式檔配合ASCII資料檔的方式呈現,而非直接提供三種版本的資料檔。
接續前一篇找尋資料合併的方式不可分的,當然就是把資料寫入檔案了。由於時間的壓力,所以沒有辦法花太多時間進行執行效能的優化,只能先求有再求好了。所以也就延續上篇透過SQL語法產生合併檔的方式處理。
目前透過SQL可產生堆疊式的合併資料,也就是利用樣本編號,將各題組的變數加以串連,但若在某一個題組選擇了多年的資料,便會形成一對多的串連方式。也就是同一樣本不同年度的資料在合併資料檔中將會記錄成不同筆。資料中另包含調查年變數以利區分。由於可透過SQL直接從資料庫中提取這樣結構的資料,將相同的結構寫入檔案也沒有太大問題。初步規劃資料以逗號分隔的csv檔儲存,第一列為變數名稱。
相較於堆疊式的合併資料,串連式的就比較複雜了。所謂串連式,是指每一個樣本就為一筆資料,不同年度的相同變數以不同的變數加以儲存。資料仍然透過相同的SQL語法從資料庫中提出,再利用陣列將資料重新組合而成。這幾天便為了這個陣列的轉換傷透腦筋,由於並非每位受訪者每期都能夠完訪,因此串連起來的資料需克服資料長度不同的問題。目前對於未完訪的的遺漏值暫時以空值處理,未來也許配合三個種統計軟體的程式檔,再調整成適當的狀態。
目前兩種方式的產生資料檔程式已初步完成。下一步是倒回去處理「選擇變數」(購物車)的部分了。不過,由於新資料釋出的進度有些落後,我又要回去幫忙了,因此進度可能又要暫停一下了。希望這次不要停太就才好。
沒有留言:
張貼留言