多選題是問卷處理中一個相對比較麻煩的問題杂数,讓許多人頭疼闻察,不知該如何處理捆探。在 spss 的分析菜單中專門為多選題提供了 multiple response(中文常譯作 "多重響應",即可以有多種回答的題目斤吐,雖然翻譯的并不好搔涝。O.O厨喂。) 的功能,只需要先定義一個多重響應集庄呈,然后就可以進行頻數(shù)分析和列聯(lián)表分析蜕煌。
遺憾的是在 stata 中,官方并未提供相應的命令來處理這個問題诬留,但是還好我們有強大的外部命令來彌補斜纪。B. Jann 2005年發(fā)表在 《stata journal》 上的一篇文章 Tabulation of multiple responses 提供了以 mrtab 為核心的一系列命令專門用來處理多選題的問題。本文基本學習自這篇文章文兑,感謝前人的付出盒刚,有興趣的可以去找原文看。
Note:本文使用的案例 data 和 dofile 見文末彩届。若鏈接失效伪冰,請私信,看到會復樟蠕,謝謝贮聂。
在分析之前我們必須先了解多選題數(shù)據(jù)存儲的兩種模式:the indicator mode(二分變量式) 和 the?polytomous mode(多分類模式).
1寨辩、二分類的編碼模式(the indicator mode):我們應該都很熟悉吓懈,在對類別變量的處理中經(jīng)常會用到,即虛擬變量(0/1變量靡狞,“是”=1耻警,“否”=0)的編碼方式,將每一個選項都作為一個單獨的變量甸怕,有多少個選項就有多少個虛擬變量甘穿,被訪者選了該選項便編碼為1,未選該項則編為0.如下圖所示:
2梢杭、多分類的編碼模式(the polytomous mode):也較容易理解温兼,即直接對每一個選項按照1、2武契、3募判、4、5.....的順序編碼咒唆,有多少個選項就給多少個編碼届垫。這種編碼方式的好處在于:對于半開放式的多選題尤為實用,因為在半開放式的多選題中全释,研究者無法預知除了自己設定的答案選項以外還會出現(xiàn)多少個新答案装处,當在某個 responser 處出現(xiàn)一個新答案時,研究者只需要在其后新增一個編碼即可浸船,非常方便符衔。(此外找前,使用多分類的編碼后 mrtab + gen 的 option 可以快速轉換成二分類的編碼方式,這個后面再說)如下圖示例:
當然判族,我們似乎可以在二分類的編碼模式下用 tab 命令對各項逐個進行統(tǒng)計,再匯總项戴,但是這種辦法顯然不夠便利形帮,我們需要的是一步到位的簡單辦法。
多選題分析的主命令為 mrtab 周叮,其基本的語法如下:
下面對其中涉及的命令及一些主要的 options 進行解釋辩撑,至于其他的可以自行閱讀 help 文件。
主命令 mrtab :如果采用的是二分類的編碼模式仿耽,則可以直接用 mrtab 加上所有的題項進行列表統(tǒng)計合冀。stata 默認的是 1 表示“選中該項”,0 表示“未選中該項”项贺。得出的結果如下:
poly & response:作為 option 兩個需要搭配使用君躺,poly 告訴 stata 我的編碼方式為多分類編碼模式,而response 則指定所有選項的編碼开缎,例如在案例中 1棕叫、2、3奕删、4 覆蓋了所有的編碼俺泣,那么只需要加上 reponse(1/4) 或者 response(1 2 3 4)即可,告訴stata 1完残、2伏钠、3、4 是我的選項谨设,所有不在這個 list 里面的值都會作為未選或者缺失熟掂。結果如下圖:
sort :按照 frequency 的大小排序顯示,在雙變量的 mrtab 中還可以指定以哪一列為基準排序铝宵,如sort(1)即以第一列為基準排序打掘,同理 sort(#)。
title:指定統(tǒng)計表的標題鹏秋,中文都支持尊蚁,如 title("Way to work"),可自行嘗試侣夷。
generate( ):將多分類的編碼模式轉換成二分類的編碼模式横朋。mrtab vehicle1-vehicel4,poly response(1/4) ?gen(jiaotong),在gen( )括號里自定義一個前綴名就行百拓,例如我這里用jiaotong琴锭,就會轉換成 jiaotong1 - jiaotong4 四個二分類變量晰甚。
by:在多選題與其他類別變量做雙變量列聯(lián)統(tǒng)計的時候使用,by(另一類別變量 )决帖,在本例中厕九,我自己設置了一個 prof 職業(yè)變量,三類地回,1扁远、教師;2刻像、公務員畅买;3、公司職員细睡。所以只需要添加一個option——by(prof) 即可完成雙變量列表統(tǒng)計谷羞。
row & column :與普通的 tab 命令的row col 類似,在tab中是行百分比和列百分比溜徙,在這里差不多意思湃缎,col 表示計算百分比時分母的base是 column total of observations,row表示計算cell的百分比時的 base是row total of responses; this is equal to the row total of observations萌京⊙愀瑁可以自行嘗試之后觀察下。下面是加上 column之后的結果:
chi2 & lrchi2:在雙變量統(tǒng)計中常用知残,檢驗行列之間是否獨立靠瞎。使用的是卡方檢驗或者似然比卡方檢驗likelihood-ratio χ2 statistic。至于為什么用似然比卡方求妹,作者給出的解釋是 as an alternative to chi2乏盐,結果:
mrgraph bar:多選題的柱狀圖繪圖命令,與列表統(tǒng)計命令無太大區(qū)別制恍,與普通的 graph bar 對于繪圖設置的一些選項基本也都是通用的父能,例如改變 bar 的顏色,改變Y軸刻度標簽 等等净神。具體可以查閱 graph bar 的 options何吝,示例
mrgraph bar vehicle1- vehicle4,poly?response(1 2 3 4) sort title(Way to work) ///
bar(1,color(green)) intensity(*0.8) ?/*intensity填充顏色透明度為原來的80%*/
雙變量的繪圖:
mrgraph bar vehicle1- vehicle4,poly by(prof,separate )?response(1 2 3 4) ///
sort title("Way to work")?bar(1,color(green)) bar(2,color(red)) ///
bar(3,color(purple)) intensity(*0.9) ylabel(0(3)18,angle(0)) ytitle("頻率") ///
legend(row(3) position(11)? ring(0))
橫版繪圖:只需要將命令中的 bar 改成 hbar 表示 horizontal 顯示,然后再將圖例的position修改為1點鐘方向顯示即可鹃唯。
本文 data 和 dofile 文件:百度網(wǎng)盤鏈接:http://pan.baidu.com/s/1c1GtsPy 密碼:gxbb
Referrence:B. Jann爱榕,《stata journal》2005,Tabulation of multiple responses