胡純嚴(yán) ,胡良平 ,2*
(1.軍事科學(xué)院研究生院,北京 100850;2.世界中醫(yī)藥學(xué)會(huì)聯(lián)合會(huì)臨床科研統(tǒng)計(jì)學(xué)專業(yè)委員會(huì),北京 100029*通信作者:胡良平,E-mail:lphu927@163.com)
在整理臨床資料時(shí),若結(jié)果變量為定性變量,為了使資料看起來(lái)簡(jiǎn)潔、直觀、明了,人們常采取一種特定的表達(dá)形式,即“列聯(lián)表”。若原因變量只有1個(gè),就可以將其整理成“二維列聯(lián)表資料”;若原因變量有2個(gè),就可以將其整理成“三維列聯(lián)表資料”;依此類推,若原因變量有k-1個(gè)時(shí),就可以將其整理成“k維列聯(lián)表資料”。一般來(lái)說(shuō),當(dāng)k>3時(shí),人們很少采用列聯(lián)表形式呈現(xiàn)資料,而借用表達(dá)結(jié)果變量為定量變量時(shí)的形式,其常被稱為“數(shù)據(jù)庫(kù)”格式,即每行代表一個(gè)個(gè)體的全部信息,而每列代表一個(gè)變量(包括一般變量、原因變量和結(jié)果變量)及其全部取值。本文著重介紹除四格表資料之外的其他三種雙向無(wú)序二維列聯(lián)表資料的形式、適于進(jìn)行χ2檢驗(yàn)的前提條件、基于SAS和R軟件實(shí)現(xiàn)統(tǒng)計(jì)分析的方法。
所謂“二維列聯(lián)表資料”,就是將兩個(gè)變量(通常都是定性的)分別放置在表格的“橫向”與“縱向”(稱為兩個(gè)“維度”)上,設(shè)它們分別有“R”個(gè)與“C”個(gè)水平,它們的全部水平組合數(shù)就有“R×C”個(gè),于是,就很自然地將表格(可將其視為一個(gè)“二維平面”)劃分成“R×C”個(gè)“網(wǎng)格”,根據(jù)每個(gè)個(gè)體同時(shí)在兩個(gè)變量上的取值情況,就可以將其歸類到某一個(gè)“網(wǎng)格”之中,數(shù)出各“網(wǎng)格”內(nèi)的個(gè)體數(shù)(稱其為“頻數(shù)”),此時(shí)的資料就被稱為“二維列聯(lián)表資料”。由此可知,“四格表資料”就是“二維列聯(lián)表資料”的特例。
設(shè)危險(xiǎn)因素A有R個(gè)水平,結(jié)果變量B有C個(gè)不同取值,則雙向無(wú)序二維列聯(lián)表資料(常簡(jiǎn)稱為R×C表資料)的表達(dá)模式見(jiàn)表1。
表1 雙向無(wú)序R×C表資料的表達(dá)模式
在表 1中,當(dāng)R=2、C>2,就簡(jiǎn)稱為“2×C表資料”;當(dāng)R>2、C=2,就簡(jiǎn)稱為“R×2表資料”;所以,它們都是“R×C表資料”的特例。
1.3.1 雙向無(wú)序R×2表資料的實(shí)例
【例1】文獻(xiàn)[1]中有一個(gè)雙向無(wú)序R×2表資料,見(jiàn)表2。
表2 影響青少年焦慮癥狀的一個(gè)可疑因素的調(diào)查結(jié)果
1.3.2 雙向無(wú)序2×C表資料的實(shí)例
【例2】文獻(xiàn)[2]中有一個(gè)雙向無(wú)序2×C表資料,見(jiàn)表3。
表3 患者與家屬對(duì)疾病的主要知曉途徑調(diào)查結(jié)果
1.3.3 雙向無(wú)序R×C表資料的實(shí)例
【例3】文獻(xiàn)[3]中有一個(gè)雙向無(wú)序R×C表資料(說(shuō)明:不考慮“時(shí)間”的有序性),見(jiàn)表4。
表4 基層精防醫(yī)護(hù)人員K6評(píng)定結(jié)果
對(duì)于上述呈現(xiàn)的三種雙向無(wú)序二維列聯(lián)表資料而言,一般來(lái)說(shuō),其分析目的是相同的,即檢驗(yàn)“兩屬性變量之間是否獨(dú)立”。與此分析目的對(duì)應(yīng)的統(tǒng)計(jì)分析方法為“χ2檢驗(yàn)”(注意:選用此方法時(shí),資料需滿足特定的前提條件,見(jiàn)下文)和“Fisher’s精確檢驗(yàn)”。
2.1.1 檢驗(yàn)假設(shè)
H0:兩屬性變量之間互相獨(dú)立;
H1:兩屬性變量之間存在關(guān)聯(lián)性。
設(shè)置顯著性水平為:α=0.05。
2.1.2 檢驗(yàn)統(tǒng)計(jì)量
Pearson’sχ2檢驗(yàn)[4]的檢驗(yàn)統(tǒng)計(jì)量見(jiàn)下式:
在上式中,Oij、Tij分別代表第(i,j)網(wǎng)格上的觀察頻數(shù)與理論頻數(shù);基于概率論中條件概率的計(jì)算原理,理論頻數(shù)Tij可按下式計(jì)算:
在式(1)中,為服從自由度為df=(R-1)(C-1)的χ2分布。
若基于式(1)進(jìn)行計(jì)算,首先需要計(jì)算各網(wǎng)格上的“理論頻數(shù)”,顯然,利用手工計(jì)算是極不方便的。事實(shí)上,將式(2)代入式(1)后經(jīng)過(guò)變形,可以推導(dǎo)出不依賴“理論頻數(shù)”的計(jì)算公式,見(jiàn)式(3):
2.1.3 前提條件
R×C表資料χ2檢驗(yàn)的前提條件是理論頻數(shù)不宜太小,如果太小則有可能產(chǎn)生偏性。關(guān)于理論頻數(shù)小的“界限”說(shuō)法不一,例如,Cochran將理論頻數(shù)太小的界定為:有1/5的格子中理論頻數(shù)小于5,或至少有一個(gè)格子中理論頻數(shù)小于1;Roscoe和Byars認(rèn)為:若當(dāng)設(shè)定α=0.05時(shí),平均理論頻數(shù)[即N/(R×C)]小于6,屬于理論頻數(shù)太??;若當(dāng)設(shè)定α=0.01時(shí),平均理論頻數(shù)小于10,屬于理論頻數(shù)太?。?]。
如果理論頻數(shù)太小,可采取以下方法進(jìn)行處理:①增大樣本含量,以達(dá)到增大理論頻數(shù)的目的,此屬首選方法;②刪除理論頻數(shù)太小的格子所對(duì)應(yīng)的行或列,但此方法會(huì)不可避免地?fù)p失信息及樣本的隨機(jī)性;③合并相鄰的行或列,此法僅當(dāng)行變量或列變量是有確定順序的情形才可以。
【說(shuō)明】當(dāng)可選用χ2檢驗(yàn)時(shí),也可選用Fisher’s精確檢驗(yàn);一般來(lái)說(shuō),當(dāng)列聯(lián)表中理論頻數(shù)小于5的格子數(shù)超過(guò)了總格子數(shù)的1/5時(shí),應(yīng)盡可能選用Fisher’s精確檢驗(yàn)(因篇幅所限,此法的計(jì)算原理和公式從略)。
2.2.1 分析例1資料
【例4】沿用例1的資料,試檢驗(yàn)兩屬性變量之間是否存在獨(dú)立性。
【分析與解答】回答兩屬性變量之間是否存在獨(dú)立性的統(tǒng)計(jì)分析方法可選用χ2檢驗(yàn),設(shè)所需要的SAS程序如下[6]:
【說(shuō)明】若希望采用Fisher’s精確檢驗(yàn),需在前述的FREQ過(guò)程步中的“TABLES語(yǔ)句”之后增加一句,即“exact fisher;”。
【SAS輸出結(jié)果及解釋】
【專業(yè)結(jié)論】第一次了解此次疫情的途徑不同,發(fā)生焦慮的比例是不同的,具體地說(shuō),發(fā)生焦慮比例從高到低依次為“雜志”>“社交平臺(tái)”>“親朋好友或老師”>“社交軟件”>“網(wǎng)站”>“電視”。值得一提的是:“雜志”所對(duì)應(yīng)的樣本含量為2,樣本過(guò)小,抽樣誤差很大,應(yīng)將該行數(shù)據(jù)刪除重新計(jì)算。
2.2.2 分析例2資料
【例5】沿用例2的資料,試檢驗(yàn)兩屬性變量之間是否存在獨(dú)立性。
【分析與解答】回答兩屬性變量之間是否存在獨(dú)立性的統(tǒng)計(jì)分析方法可選用χ2檢驗(yàn),設(shè)所需要的SAS程序如下:
【說(shuō)明】因篇幅所限,用SAS軟件分析例3數(shù)據(jù)從略,讀者可借助前面的SAS程序自己去完成,但需要修改原始數(shù)據(jù)的“行數(shù)”與“列數(shù)”(位于SAS程序中兩個(gè)“DO語(yǔ)句”)。
【例6】沿用例3的資料,試檢驗(yàn)兩屬性變量之間是否存在獨(dú)立性。
【分析與解答】回答兩屬性變量之間是否存在獨(dú)立性的統(tǒng)計(jì)分析方法可選用χ2檢驗(yàn),設(shè)所需要的R程序如下[7-8]:
遺憾的是:R軟件給出了“警告信息”,表明此資料不符合進(jìn)行χ2檢驗(yàn)的前提條件(具體地說(shuō),資料中小于5的理論頻數(shù)的個(gè)數(shù)超過(guò)了總格子數(shù)的1/5),故χ2近似算法給出的結(jié)果可能不準(zhǔn)確。
將上面R程序中的最后一行換成下面的語(yǔ)句,就可對(duì)此資料進(jìn)行Fisher’s精確檢驗(yàn):
以上輸出內(nèi)容表明:經(jīng)過(guò)2000次重復(fù)模擬計(jì)算,得到P=0.0004998,說(shuō)明該列聯(lián)表資料中兩個(gè)屬性變量之間不獨(dú)立,結(jié)論同上,此處不再贅述。
本文所介紹的三種雙向無(wú)序列聯(lián)表資料的檢驗(yàn)假設(shè)是相同的,具體內(nèi)容見(jiàn)“第2.1.1節(jié)”;當(dāng)檢驗(yàn)結(jié)果為拒絕“H0”、接受“H1”時(shí),其統(tǒng)計(jì)結(jié)論也是相同的,即“表中兩屬性變量之間不獨(dú)立”,更確切地表述為:“各行或各列上的頻數(shù)分布規(guī)律是不同的”。在實(shí)踐中,人們可能會(huì)提出更具體的要求,例如,究竟哪些行或列上的頻數(shù)分布規(guī)律是不同的、哪些行或列上的頻數(shù)分布規(guī)律是相同的?對(duì)這個(gè)問(wèn)題的回答涉及兩方面的內(nèi)容,其一,列聯(lián)表資料的多重比較問(wèn)題[9];其二,χ2值的非精確分割與精確分割問(wèn)題[10-11]。因篇幅所限,此處從略。
若用SAS軟件對(duì)本文中例3資料進(jìn)行“Fisher’s精確檢驗(yàn)”,計(jì)算的時(shí)間可能需要數(shù)個(gè)小時(shí);但采用R軟件進(jìn)行計(jì)算(見(jiàn)本文例6),大約只需要2秒鐘。之所以會(huì)產(chǎn)生如此大差距的根本原因是兩種統(tǒng)計(jì)軟件所采用的計(jì)算方法不同,前者是基于超幾何分布原理推算出來(lái)的計(jì)算方法;而后者采用的是蒙特卡羅模擬計(jì)算方法。
本文呈現(xiàn)了三種雙向無(wú)序二維列聯(lián)表資料的實(shí)例,介紹了基于Pearson’s χ2檢驗(yàn)的計(jì)算原理和采用SAS與R軟件實(shí)現(xiàn)獨(dú)立性檢驗(yàn)的具體方法和結(jié)果解釋。最后,提出了兩個(gè)與“χ2檢驗(yàn)”有關(guān)且有待進(jìn)一步討論的問(wèn)題。