孫玉環
傳統的紙版問卷調查與CATI、CAPI等計算機輔助調查手段相比較,具有簡單方便、成本低廉的優點,目前仍是應用最為普遍的一種調查手段。由于紙版問卷是由訪問員手工填寫,錄入員依照問卷的填寫內容直接錄入,參與人員任何形式的理解偏誤或疏忽,都有可能會產生登記性錯誤或跳轉錯誤。因此,在數據錄入階段,采取恰當有效的措施,及時防止、發現和糾正數據采集和數據錄入環節產生的錯誤,是提高紙版問卷調查數據質量的重要保證。而EpiData Association開發的EpiData作為一個免費的專業數據錄入和數據管理軟件,具有界面友好、簡單實用、錄入效率高、錄入質量好等優點〔1〕,SAS系統也因具有完備的數據存取、數據管理、數據分析和展現功能以及高效、靈活的處理海量數據的能力〔2〕,在調研領域有著廣泛的應用。筆者在調查實踐中處理紙版問卷數據的一般做法是,先利用EpiData程序錄入數據,然后導出為SAS格式數據集,再基于SAS系統進行數據清理和數據庫的規范整理。
本文將基于EpiData 3.02與SAS 9.2系統,具體探討紙版問卷數據錄入中常用的一些質量控制過程和技巧。具體可以分為數據錄入前的準備、數據錄入過程中的質量核查和數據錄入后的整理三個環節。
1.問卷數據的完備性及初級邏輯性審核
在數據錄入工作開始之前,首先需要對每一份所回收問卷數據的完備性進行核查,如果發現問卷中存在必填項空缺、字跡模糊、潦草難以辨認、邏輯錯誤等問題,就需要聯系相關督導或訪員加以確認,盡可能消除調查環節中的錯填和漏填現象,保證所回收調查問卷填寫內容的規范、完整和準確,為下一步的數據核查和錄入工作做好準備。
2.程序準備
EpiData程序的設計思路是,首先通過簡單的文本來定義數據庫結構,然后將其轉化為錄入文件,最后通過設置錄入條件來進行質量控制〔3〕。在EpiData中設計數據錄入條件時,可以運用以下幾個方面的技巧:
(1)基本核對命令的設置 EpiData程序為用戶提供了一個基本的“添加核對命令”對話框(后綴為chk),可以直接輸入最常用的核查和限定條件。以某調查項目的數據錄入程序為例,為變量HHNO(問卷編碼)添加核對命令的對話框如圖1所示。其中,Range,Legal對話框用于為變量定義一組允許錄入的數值,Jumps對話框用于定義邏輯跳轉關系,Must enter對話框用于設定當前變量是否必須錄入。

圖1 “添加核對命令”對話框
雖然EpiData程序為用戶提供了添加基本核對命令的對話窗口,但為了實現某些特殊要求,有時還需要打開編輯窗口,直接編寫相應的限定錄入條件。
(2)問卷編碼的唯一性保證 問卷編碼的唯一性,是避免問卷重復錄入以及進行后續數據處理和分析的必要保證。在打開的“對該字段編輯核對項”的窗口中,為變量 HHNO(問卷編碼)增加“KEY UNIQUE 1”限定條件,即可將其設置為關鍵變量,并根據它為每一條記錄創建唯一的索引,確保一份問卷只錄入一次(如圖2所示)。
(3)特殊變量值的設定 由于問卷調查的復雜性,不可避免地會存在受訪者表示不知道、拒絕回答、不適用以及漏填等情況,為了在數據錄入時能夠靈活應對各種特殊情況,可以對這些特殊變量值做統一規定,用“-1”表示不知道、“-2”表示拒絕回答、“-8”表示不適用、“-9”表示未填答。另外,除開放問題外,字符型變量最好事先轉化為離散型數值變量,以數值的形式錄入,在數據整理階段再輔之以值標簽的形式表示,這樣可以大大提高數據錄入的速度。

圖2 保證問卷編碼唯一性的編輯核對項對話框
(4)規范填充兩個跳轉變量之間的變量值JUMPS命令的作用是設置有條件的跳轉,在JUMPS和END之間,用戶通過指定一個合法值,實現在該特定值下跳轉到相應的目標字段。一般情況下,兩個跳轉變量之間的變量值會被自動設定為空或缺失值,此種情況的缺失應為“不適用”情況,但如果事先不做設定,就會與訪員漏填、錄入員漏錄等原因造成的缺失相混淆,給后期的數據清理工作帶來麻煩。這時,可以利用“JUMPS RESET-8”命令,把兩個跳轉變量之間的全部變量值自動填充為“-8”(即不適用)。
數據錄入過程中的質量核查,主要包括對雙人錄入結果的核查與更正以及變量間的邏輯一致性核查與更正。
1.雙錄入結果的核查
經驗表明,一份包含300個左右選項、難易程度中等的紙版調查問卷,單次錄入的錯誤率約為1%。為了保證數據錄入質量,在經費允許的條件下,最好實行雙人錄入,然后再對雙錄入結果進行比對。對發現的雙錄入結果不一致的信息,組織核查員查找原始紙版問卷,依據問卷實際填答情況,更正錄入錯誤的信息。進行雙錄入核對的前提條件是兩個數據庫所用關鍵變量必須唯一,只要其中一個數據庫中的關鍵變量有重復值,就不能進行數據比較〔4〕。雙錄入結果的核查過程,既可以在EpiData程序中實現,也可以利用SAS程序中的compare過程實現。
(1)基于EpiData程序的雙錄入結果核查過程的實現。在準備雙錄入時,利用菜單中的“工具”→“復制數據文件結構”,將已經建立好的數據庫的結構拷貝、另存為一個新的數據庫,而其中已經錄入的數據并不會被拷貝到新的數據庫中。雙錄入完畢后,再進入菜單“其他功能”→“對兩個相同數據文件進行有效性檢驗”,選擇要進行比較的兩個數據庫的文件名,然后設置核查過程中的一些參數。
(2)基于SAS程序的雙錄入結果核查過程的實現。下面這段SAS程序代碼實現的是兩次錄入結果(one和two兩個數據集)基于關鍵變量hhno的匹配核對過程。運行程序后所查找出來的不一致信息,通過SAS的ODS系統〔5〕,被存儲在名為“雙錄入不一致信息匯總”的excel數據集中。
ods listing exclude all;ods html file=“d:雙錄入不一致信息匯總.xls”;
data one;set sunny.one;proc sort;by hhno;run;data two;set sunny.two;proc sort;by hhno;run;
proc compare base=one compare=two listall outdif transpose out=clean maxprint=(32700,32700);
id hhno;run;
ods html close;ods listing exclude none;
2.邏輯一致性核查
EpiData程序中所建立的chk核查文件,主要是在數據錄入過程中交互式地影響數據的錄入,在一定程度上保證了錄入數據的合理性和正確性。而邏輯一致性核查,則是在數據錄入完畢后,依據問卷各條記錄的邏輯關系,通過一次性設置一批核查命令(條件語句),檢查數據庫中數據的邏輯一致性。邏輯一致性核查既可以在EpiData程序中實現,也可以利用SAS程序實現。對核查程序發現的所有不符合一致性要求的記錄,需要通過查找原始問卷、聯系訪問員或受訪者進行確認,如果為錄入錯誤就給予糾正。
為方便數據使用者,對已經錄入完畢并通過質量核查的問卷數據,還需要進行補充和替換變量值、核查野碼、添加變量標簽和變量值標簽等數據清理和規范整理工作。該過程基于SAS系統完成的效率和質量要遠高于EpiData系統和其他統計分析軟件。
1.變量值的補充和替換
依據紙版問卷錄入數據,即使對“不知道”、“拒絕回答”、“不適用”、“未填答”等情況,都要求訪員和錄入員分別相應填寫“-1”、“-2”、“-8”和“-9”等特殊值,但由于疏忽等種種原因,有時某些數據點依然會顯示為缺失(數值變量為“.”,字符變量為空格)。數據清理時,需要針對缺失值產生的不同原因,逐一或逐類進行補充和更正。對能夠判斷為不適用的情況,可以利用SAS程序統一賦值為-8(不適用);對能夠判斷為應填未填的情況,可以利用SAS程序統一賦值為-9(缺失值)。如果在數據錄入時,事先并沒有在EpiData程序中把兩個跳轉變量之間的全部變量值自動填充為“-8”,那么選項跳轉涉及到的變量值也會顯示為缺失,這時也需要統一將其賦值為-8。
2.核查野碼
由于調查執行過程的復雜性,對匯總后的調查數據,還需要通過查看所有變量的頻數分布和描述性分析結果,查找并更正各變量可能存在的野碼以及過大或過小的奇異值,比如父親的性別為女、住房面積超過1000平方米等,這種錯誤基本上是由于訪問員的填寫錯誤造成的。
3.添加變量標簽和變量值標簽
由于從EpiData程序中導出的數據只存儲了變量的簡單描述,為方便數據使用者,可以為全部變量添加完整的標簽進行說明,標簽的一般設定格式為“變量名+問題完整描述”;對于離散型數值變量,還應為變量添加值標簽。
1.胡靜.EpiData軟件的特點及使用簡介,疾病監測,2006,21(5),273-275.
2.姚志勇編著.SAS編程與數據挖掘商業案例.北京:機械工業出版社,2010,1-2.
3.郭海濤,張澤,解宏偉.EpiData軟件與Stata軟件數據文件的轉接,軟件導刊,2010,9(3),15-16.
4.鄭文新,汪文新.EpiData軟件在流行病學調查中建立數據庫的應用,數理醫藥學雜志,2005,18(5):486-497.
5.修良昌,丁元林.SAS中網頁格式輸出的實現,中國衛生統計,2009,26(2):210-211.