中國疾病預(yù)防控制中心公共衛(wèi)生監(jiān)測與信息服務(wù)中心(102206)
夏蘭芳 孟郁潔 李迎迎 陳倩倩 于石成 李 月 馬家奇△戚曉鵬△
多選題數(shù)據(jù)統(tǒng)計分析方法及SAS實現(xiàn)*
中國疾病預(yù)防控制中心公共衛(wèi)生監(jiān)測與信息服務(wù)中心(102206)
夏蘭芳 孟郁潔 李迎迎 陳倩倩 于石成 李 月 馬家奇△戚曉鵬△
多選題數(shù)據(jù)錄入常用的編碼方法有二分法編碼、分類法編碼和原始編碼[1]。其中,原始編碼是將多選題設(shè)為一個變量var,按照調(diào)查對象選擇順序連續(xù)錄入被選中選項的編碼;數(shù)據(jù)中各項之間以“,”分開,如“1,3,5”。原始編碼最節(jié)約錄入時間,但是不便于統(tǒng)計分析,故在對數(shù)據(jù)進(jìn)行統(tǒng)計分析之前需將原始編碼數(shù)據(jù)轉(zhuǎn)換為多個1-0單項選擇。目前多選題數(shù)據(jù)的轉(zhuǎn)換多使用SPSS[2-4],應(yīng)用SAS的較少[1],且只適用于選項數(shù)目在1~9個的多選題,當(dāng)選項≥10個時易出現(xiàn)錯誤。本文主要介紹多選題數(shù)據(jù)轉(zhuǎn)換及SAS實現(xiàn),簡單介紹轉(zhuǎn)換完成后的統(tǒng)計分析。
1.多選題數(shù)據(jù)轉(zhuǎn)換
在線調(diào)查數(shù)據(jù)中,原始編碼是將多選題設(shè)為一個變量var,按照調(diào)查對象選擇順序連續(xù)錄入被選中選項的編碼,各項之間以“,”分開。原始編碼數(shù)據(jù)向二分法編碼數(shù)據(jù)轉(zhuǎn)換時,為了將二位數(shù)與一位數(shù)識別開,比如“10”中的1與“1”,可以使用使用連接函數(shù)在var每個變量值前后加上分隔符“,”。這樣我們就可以采用IFN和INDEXW函數(shù)進(jìn)行原始編碼數(shù)據(jù)向二分法編碼數(shù)據(jù)轉(zhuǎn)換;此過程產(chǎn)生與多選題每個備選項相對應(yīng)的新變量var1、var2……varn,調(diào)查對象選中選項的變量值記為“1”,未選中選項的變量值記為“0”。例如某多選題有12個備選項,調(diào)查對象的選擇是“2”和“10”,則該多選題變量var的取值為2,10,然后產(chǎn)生與12個備選項相對應(yīng)的新變量var1、var2……var12;其中,var2和var10均記為“1”,其余變量記為“0”[1]。
2.統(tǒng)計分析
轉(zhuǎn)換完成之后,可對新變量var1、var2……var12逐個進(jìn)行統(tǒng)計描述和統(tǒng)計推斷。
1.實例:您所學(xué)的專業(yè)為:(1)計算機,(2)生物醫(yī)學(xué)工程,(3)通信工程,(4)醫(yī)學(xué),(5)護(hù)理,(6)經(jīng)濟管理,(7)統(tǒng)計,(8)病媒生物防制,(9)法律,(10)衛(wèi)生檢驗,(11)衛(wèi)生事業(yè)管理,(12)其他。
2.數(shù)據(jù)轉(zhuǎn)換程序步驟:
圖1 SAS數(shù)據(jù)集(部分)
(1)產(chǎn)生宏程序dxt,其參數(shù)為數(shù)據(jù)集data,多選題變量var,多選題起始選項編號a,多選題最后選項編號b。一般地,a<b。本例中a=1,b=12。
(2)建立數(shù)據(jù)集out,將數(shù)據(jù)集data內(nèi)的數(shù)據(jù)導(dǎo)入。
(3)利用catt函數(shù)在多選題var變量值前后各加上分隔符“,”,命名為變量為var1。
(4)設(shè)置宏變量i,產(chǎn)生與多選題備選項相對應(yīng)的新變量vara-varb(本例為var1-var12)。
(5)利用IFN函數(shù)和INDEXW函數(shù)一次檢索變量var的取值是否含有a~b(本例中為1~12),如果有,則將相應(yīng)選項的變量值記為“1”,否則記為“0”。
(6)調(diào)用宏程序dxt,本例中的參數(shù)為數(shù)據(jù)集data=dataset,var=t4x,a=1,b=12。
3.數(shù)據(jù)轉(zhuǎn)換SAS程序如下:
上述程序運行結(jié)果為圖2,該轉(zhuǎn)換程序?qū)崿F(xiàn)了原始編碼數(shù)據(jù)向二分法編碼數(shù)據(jù)的轉(zhuǎn)換,同時區(qū)分開了單位數(shù)和二位數(shù),比如“1”和“10”。
圖2 數(shù)據(jù)轉(zhuǎn)換SAS程序運行結(jié)果(部分)
4.數(shù)據(jù)統(tǒng)計分析
數(shù)據(jù)轉(zhuǎn)換完成后可以對每個新變量(以t4x1,即計算機專業(yè)為例)描述其“1”(專業(yè)為計算機)的分布;并利用卡方檢驗比較其在不同gender(性別)間的分布,SAS程序如下:
除此之外,轉(zhuǎn)換產(chǎn)生的新變量還可以單獨作為自變量參與構(gòu)建回歸模型[5-6]、廣義線性模型、廣義相加模型[7]等。
在設(shè)計調(diào)查問卷時,根據(jù)調(diào)查目的合理設(shè)置多選題,有助于確保調(diào)查信息的準(zhǔn)確性和全面性;然而在現(xiàn)實中,由于多選題數(shù)據(jù)錄入和統(tǒng)計分析的復(fù)雜性,導(dǎo)致大多數(shù)調(diào)查者不愿在問卷中設(shè)置多選題[1]。本文提供的多選題原始編碼數(shù)據(jù)向二分法編碼數(shù)據(jù)轉(zhuǎn)換的程序有利于減少調(diào)查者數(shù)據(jù)錄入和統(tǒng)計分析的難度。
一般的實現(xiàn)多選題原始編碼數(shù)據(jù)向二分法編碼數(shù)據(jù)轉(zhuǎn)換的SAS程序在處理選項為多位數(shù)的多選題時,比如選項數(shù)為“11”,產(chǎn)生的變量var1和var11均為“1”,出現(xiàn)混亂。因此,將選項數(shù)限制為1~9。本文中設(shè)計的程序,CATT函數(shù)將每個變量值前后均加上分隔符“,”使得變量值每個選項號前后均有“,”;這樣,“,1,”和“,10,”是完全不同的,結(jié)合IFN函數(shù)和INDEXW函數(shù)就可以將單位數(shù)選項號和二位數(shù)選項號完全區(qū)分開。因此本程序可彌補一般程序的不足。當(dāng)選項在1~9時該程序與一般程序等同。
此外,本研究數(shù)據(jù)轉(zhuǎn)換程序中將宏程序dxt設(shè)置了宏參數(shù)data,var,a,b,在每次調(diào)用程序時只需在程序后的括號內(nèi)指定參數(shù)取值,無需改動原始宏程序。這在精簡SAS程序的同時保證了原始宏程序的穩(wěn)定,減少出錯率。
1.王鋒,吳秋云,邵繼紅,等.調(diào)查問卷中多選題數(shù)據(jù)轉(zhuǎn)換的SAS程序設(shè)計.中國衛(wèi)生統(tǒng)計,2012,29(2):291,295.
2.李運明,封宗超,李小凱,等.EpiData和SPSS軟件在多選題資料錄入和統(tǒng)計分析中的應(yīng)用.現(xiàn)代預(yù)防醫(yī)學(xué),2010,37(21):4012-4014.
3.林漢生,楊麗,夏蘇建,等.多選題答案的編碼與SPSS中SUBSTR函數(shù)的使用.中國衛(wèi)生統(tǒng)計,2001,18(6):371-373.
4.林漢生,夏蘇建,楊麗,等.再談SPSS中SUBSTR函數(shù)與多選題答案的編碼.中國衛(wèi)生統(tǒng)計,2005,22(1):60.
5.胡躍華,匡翔宇,金承剛,等.復(fù)雜抽樣Poisson回歸分析方法及應(yīng)用.中國衛(wèi)生統(tǒng)計,2012,29(5):650-653.
6.李望晨,張利平,孔雨佳,等.我國婦幼死亡率GM(1,1)與線性回歸預(yù)測模型研究.中國衛(wèi)生統(tǒng)計,2010,27(4):366-368.
7.李宏田,袁悅,李智文,等.GAM識別非線性相關(guān)及其在醫(yī)學(xué)統(tǒng)計建模中的應(yīng)用.中國衛(wèi)生統(tǒng)計,2012,29(6):782-785,789.
(責(zé)任編輯:郭海強)
國家重大科學(xué)研究計劃項目(2012CB955504)
△通信作者:馬家奇,E-mail:majq@chinacdc.cn;戚曉鵬,E-mail:caroline_ qi@163.com。