許多同學(xué)遇到排序題的時候不知所措,其實排序題只是多選題的另一種形式捞蛋,處理起來還是相對比較簡單的也颤,只需要理解了其數(shù)據(jù)結(jié)構(gòu)并做些小小的轉(zhuǎn)換就可以完成對它的分析。
首先碳却,我們要了解排序題在 stata 中是什么樣的形式队秩。
隨便舉個例子:請按您的喜愛程度將下列七種水果進行排序:
(1)蘋果、(2)梨昼浦、(3)葡萄馍资、(4)香蕉、(5)橘子关噪、(6)桃鸟蟹、(7)西瓜
答案: ?—— ?> —— > —— > —— > —— > —— > ——
假設(shè)為此我們訪問了10名同學(xué)乌妙,回收了10份問卷,于是有了10個 cases建钥,數(shù)據(jù)結(jié)構(gòu)如下:
觀察數(shù)據(jù)結(jié)構(gòu)藤韵,可以看到, 縱列的var1 - var7 七個變量分別對應(yīng)答案中的七個空格位置熊经,橫列的1—10代表10個人的排序泽艘,如:第一個人將3號水果(葡萄)排在第一位,將2號水果(梨)排在第二位镐依。匹涮。。馋吗。依次類推.
如果是一個人的排序我們很好理解也好統(tǒng)計出哪種水果排第一焕盟,哪種排第二.....,關(guān)鍵的難點是現(xiàn)在有10個人同時對此進行排序且各自的排序還不一樣宏粤,那么如何才能匯總出最終的排序呢脚翘?
解決這個問題的大體思路分為兩步:
一、首先找到每一種水果在不同的被訪者那里的排名绍哎。
二来农、根據(jù)排名的次序賦予一個“分”,排名越高崇堰,“分”越高沃于,這里的“分”是研究者自己給定的,僅為了進一步區(qū)分次序差異海诲,沒有某個固定的賦值要求繁莹,表示的是選項在被訪者眼里的 “重要性” 程度。從而匯總出每種水果的重要性得分特幔,然后再排序即可咨演。
下面開始第一步:為了找到每種水果在不同的被訪者那里的排名,我們首先生成7個變量蚯斯,分別代表選項中從1號到7號的7種水果薄风,先暫時令其取值為missing。
然后通過下列循環(huán)語句遭赂,逐一找到每種水果在各個被訪者那里的排名,如果不知道這一堆循環(huán)語句什么意思横辆,下面會解釋撇他。
補充:解釋上述循環(huán)語句的第一句,其他都同理。
對第一個forv的循環(huán)來說逆粹,實際上是做了下列7條命令的事情募疮。該命令首先在var1變量的所有個案中尋找看它的值是否等于1,更通俗地講就是在所有答卷的第一個排序位置(var1)上尋找看是否有人選了蘋果(1)僻弹,如果選了阿浓,那就令apple =1,表示此人將 apple 放在了排序的第一位蹋绽,那么同理第二行則表示在所有答卷的第二個排序位置(var2)上尋找看是否有人選了蘋果(1)芭毙,如果選了,那就令apple = 2卸耘,表示此人將 apple 放在了排序的第2位退敦,接下來5條不過是基本重復(fù)以上事情罷了~因此用一條循環(huán)解決。
replace apple = 1 if var1 == 1
replace apple = 2 if var2 == 1
replace apple = 3 if var3 == 1
replace apple = 4 if var4 == 1
replace apple = 5 if var5 == 1
replace apple = 6 if var6 == 1
replace apple = 7 if var7 == 1
通過上述循環(huán)之后蚣抗,我們可以看到我們新生成的7種水果的變量值都被替換成了排序(下圖)侈百,如第一個apple變量的10行表示的就是這10個人分別將apple排在了第幾位。
接下來就好辦了翰铡,我們前面說過钝域,只要得到每種水果在每個人那里的排名,我們就可以對排名打分锭魔,將1-7每個排名都賦一個得分例证,得分越高就越重要,這樣就可以計算出每種水果的重要性總分迷捧,再進行比較就可以得到哪種水果是最重要的织咧,而哪個是次之.....排出1-7的順序漠秋。
次序轉(zhuǎn)成分?jǐn)?shù)的操作使用一個小的循環(huán)語句可以完成(分?jǐn)?shù)自己設(shè)定笙蒙,基本原則是排序越高分?jǐn)?shù)越高即可):
做完這步后 var1-var7這幾個變量就沒什么用了,使用 drop var1-var7 將其刪掉再進行下面的工作肥荔。 轉(zhuǎn)化成得分之后的數(shù)據(jù)結(jié)構(gòu):
這個時候我們再來看這組數(shù)據(jù),如果將每列都求和得到的總分不就是每道題的重要性得分了嗎姜胖。為了看得更清楚誉帅,我們使用 xpose 命令做一個行列轉(zhuǎn)置,將它變成一個7行的數(shù)據(jù),從第一行到第七行分別對應(yīng) v1-v7蚜锨,新增一個變量 item 用來標(biāo)識第幾行是第幾個選項档插,如下:
xpose, clear
gen item = _n
接下來,對每行分別求和亚再,就是每個選項的重要性總分了:
egen score = rowtotal(v1-v10)
最后在stata窗口中列示一下每個選項和其對應(yīng)的得分郭膛,并對得分進行排序:
sort score
list item score
因此我們可以得出結(jié)論:按喜愛程度對七種水果進行最后的排序為:
(1)蘋果? > (4)葡萄 ?> (2)梨 ?> (5)橘子 ?> (7)西瓜 > (6)香蕉 ?> (3)桃
接著我們還可以用此分?jǐn)?shù)繪圖等等。氛悬。就留待自己去探索了~
演示數(shù)據(jù)及dofile则剃,鏈接:http://pan.baidu.com/s/1o8QaU3C 密碼:lnr0