東南大學(xué)公共衛(wèi)生學(xué)院流行病與衛(wèi)生統(tǒng)計學(xué)系(210009) 李萬慶 閔 捷 劉 沛 王燦楠 田 野 蔣文瀚
普查與調(diào)查數(shù)據(jù)處理系統(tǒng)(The Census and Survey Processing System,CSPro)是由美國普查局開發(fā)、中國國家統(tǒng)計局計算中心進行漢化移植的一個免費應(yīng)用軟件。該軟件具有數(shù)據(jù)錄入、核查、雙份比較、合并、數(shù)據(jù)轉(zhuǎn)出且與其他軟件兼容等優(yōu)良特性,當(dāng)某些復(fù)雜調(diào)查由多級調(diào)查問卷組成時,CSPro可以用樹形結(jié)構(gòu)顯示隸屬關(guān)系,同時通過后臺編程使數(shù)據(jù)錄入質(zhì)量得到很好地保證,比較適合由多級調(diào)查問卷組成且調(diào)查對象較多的現(xiàn)場調(diào)查。本文以2011年中國總膳食調(diào)查研究數(shù)據(jù)庫構(gòu)建為例,介紹CSPro軟件及其在中國總膳食調(diào)查研究數(shù)據(jù)庫構(gòu)建中的具體使用方法。
1.CSPro的數(shù)據(jù)字典,通過對級(level)、記錄(record)、數(shù)據(jù)項(item)和值集的定義來顯示所有表與表之間、表與變量之間的隸屬結(jié)構(gòu)關(guān)系以及每個變量的輸入類型、輸入范圍和輸入值限制,以便將來生成結(jié)構(gòu)清晰的三級調(diào)查表格數(shù)據(jù)庫〔1〕。一個數(shù)據(jù)字典可有n個級為第一級,每級有n個記錄為第二級,所有記錄的第一個均為id項,每個記錄有n個數(shù)據(jù)項為第三級,每級可由符號‘+’‘-’展開。圖1為我們構(gòu)建的中國總膳食調(diào)查研究的多級整體結(jié)構(gòu)示意圖,它包括總膳食研究、食物編碼、recipecodes三個并列的數(shù)據(jù)字典,總膳食研究數(shù)據(jù)字典是總庫,食物編碼和cecipecodes數(shù)據(jù)字典為質(zhì)量控制關(guān)聯(lián)子庫。其中,總膳食研究數(shù)據(jù)字典包含第一級總膳食研究questionnaire,總膳食研究questionnaire又包含第二級id、訪問時間、完成質(zhì)量、家庭實物量登記表、家庭成員每人每日用餐登記表、三日家庭成員每日膳食詢問表等記錄。而每個記錄又包含第三級多個數(shù)據(jù)項,如id記錄下包含省份、城市、農(nóng)村、市、縣、居委會、村、調(diào)查戶等數(shù)據(jù)項。
2.在級的水平下對每個記錄項進行設(shè)置,見圖2,列出級下四個記錄的設(shè)置,Type Value取不同的值區(qū)分不同類型的記錄,Required選Yes代表該記錄項為必填項目,Max取值表示每張表行數(shù)最大值,即四個記錄以4張表格形式出現(xiàn),每個表格的行數(shù)分別為4行,1行,60行和20行。
圖1 中國總膳食調(diào)查研究數(shù)據(jù)字典多級整體結(jié)構(gòu)示意
圖2 部分記錄的定義示意
3.每個記錄項下都包含n個數(shù)據(jù)項,對于每個數(shù)據(jù)項可以從左到右依次定義變量標(biāo)簽,變量名,變量在總表中起始位數(shù)、變量長度、變量類型(有Alpha和Num型)、變量類別、變量重復(fù)次數(shù)、有無小數(shù)點、小數(shù)點是否顯示、空值是否用0補齊〔1〕。如圖3對調(diào)查對象id記錄下的各數(shù)據(jù)項進行變量設(shè)置。
4.我們可以對每一個數(shù)據(jù)項的集值進行設(shè)置。如圖4中對生理狀態(tài)的輸入范圍進行設(shè)置,正常可用0替代,孕婦可用1替代,乳母可用2替代,如果允許空缺,可設(shè)置missing,否則special選項設(shè)為空。設(shè)置好后在錄入時如果輸入其他值時就會顯示出錯提示信息。
圖3 部分?jǐn)?shù)據(jù)項的定義示意
圖4 數(shù)據(jù)項輸入值設(shè)定示意
1.三級數(shù)據(jù)字典編好后,點edit-generate forms,自動形成三級調(diào)查表格。中國總膳食研究調(diào)查數(shù)據(jù)庫的部分表單如圖1所示,可以清晰的看到它們之間的隸屬關(guān)系,每張表分別與上述數(shù)據(jù)字典一一對應(yīng)。
2.中國總膳食調(diào)查研究數(shù)據(jù)庫中家庭食物登記表部分見圖5,因為在數(shù)據(jù)字典中我們對家庭食物登記表這一紀(jì)錄的最大行數(shù)max定義為60,故生成的該表格有60行,而且該記錄下每個數(shù)據(jù)項都有60行。
圖5 家庭食物登記表中信息輸入形式示意
1.邏輯限制 CSPro有自己的編程語言,點viewlogic,進入邏輯代碼編輯頁面,可以對每一個變量進行進一步邏輯限制,并設(shè)置輸入糾錯提示。如在家庭成員每日用餐表中對調(diào)查人員的描述,當(dāng)性別為男時,生理狀態(tài)就不能為乳母或孕婦,對生理狀態(tài)v28定義的程序如下:
Proc v28if$=2 or 3&a2=1 then errmsg(“男性生理狀態(tài)不能為乳母或孕婦”);reenter;endif;
其中,$指代當(dāng)前定義變量生理狀態(tài)v28,v28=2 or 3指代生理狀態(tài)孕婦或乳母,a2=1指性別為男性,errmsg()函數(shù)能夠?qū)崿F(xiàn)在錄入過程中數(shù)據(jù)輸入不符合要求時顯示括號內(nèi)的提示內(nèi)容。
2.變量間的自動運算 如在家庭食物量登記表中已經(jīng)依次輸入第一、二、三日購進量,則三日總購進量會自動計算并填入。程序如下:
Proc v20apostproc v20a=v24a+v24b+v24c;
其中 v20a、v24a、v24b、v24c 分別為三日總購進量、第一、二、三日購進量。
3.跳轉(zhuǎn)的設(shè)置 當(dāng)一張表需要輸入的內(nèi)容已經(jīng)輸完,但表格行數(shù)的設(shè)置常大于等于需要的行數(shù),就需要進行跳轉(zhuǎn)設(shè)置,我們在中國總膳食研究調(diào)查數(shù)據(jù)庫中設(shè)置為當(dāng)該表的前兩個變量均輸入為空時跳轉(zhuǎn)至下一張表格。程序如下:
Proc v2aif$=missing&a1b=missing then skip to va1;endif;
其中,v2a和a1b均為當(dāng)前表的前兩個變量,va1為下張表的第一個變量。
4.通過關(guān)聯(lián)的質(zhì)控文件進行限制〔2〕在總膳食調(diào)查數(shù)據(jù)庫構(gòu)建中,對所有要輸入的食物編碼,我們以楊月欣編撰的2002、2004中國食物營養(yǎng)成份表中的編碼為依據(jù)進行輸入限制。同編輯總庫一樣再編輯一個食物編碼子庫,定義數(shù)據(jù)字典,形成錄入表格后,進入錄入界面,輸入所有編碼,也可以從已有的電子文件中提取食物編碼,以文本文件形式導(dǎo)入到食物編碼子庫中,再將總膳食研究與食物編碼子庫連接,就可以對總庫中的食物編碼變量v14進行l(wèi)ogic限制〔2〕,如果輸入的食品編碼在子庫定義的食物編碼范圍內(nèi),我們認為是正確的,否則,輸入時會自動提示“食物編碼不符合”。程序如下:
Proc v14postproc foodcode=$;if loadcase(foodcode_dict,foodcode)=0 then errmsg(食物編碼不符合);reenter;endif;
當(dāng)輸入到食物編碼變量時會自動裝載foodcode子庫中的值并與當(dāng)前輸入值進行比對,如果不符合則自動跳出“食物編碼不符合”提示框。
從編寫數(shù)據(jù)字典對各級level,各記錄record,各數(shù)據(jù)項item進行數(shù)據(jù)庫名稱、各表格行數(shù)、變量名、數(shù)值類型、長度、小數(shù)點位數(shù)、取值范圍等進行定義,到自動生成表格,再到logic中對變量進行邏輯限制和自動運算,一個完整嚴(yán)格的調(diào)查數(shù)據(jù)庫就建立了。
CSPro尤其適用于設(shè)計復(fù)雜的多級表格數(shù)據(jù)庫。CSPro表格中每一列在構(gòu)建數(shù)據(jù)字典時只需要設(shè)置一個變量,如食品編碼v14,并設(shè)置該列有60行,CSPro會自動為每一行格子從v14_01到v14_60依次自動分配變量,并可對其進行邏輯編輯。其次,CSPro在邏輯核查中可調(diào)用外部數(shù)據(jù)集文件進行比對。在復(fù)雜調(diào)查由多級調(diào)查問卷組成時,CSPro可用樹形結(jié)構(gòu)顯示其隸屬關(guān)系,并通過變量編輯、各種邏輯限制和及時的輸入糾錯提示功能等確保一次錄入就有較高的準(zhǔn)確度,相信以后在公共衛(wèi)生調(diào)查研究中會逐步得到更廣泛的應(yīng)用。
1.美國普查局國際項目中心,中國國家統(tǒng)計局計算中心.CSPro快速入門教程.http://www.stats.gov.cn/tdjt/xgzlxz/.
2.International Programs Center Population Division U.S.Census Bureau.CSPro User Guide Version 4.1.http://www.census.gov/population/international/software/cspro/.