χ2檢驗(yàn)主要有三個(gè)用途:單樣本方差的同質(zhì)性檢驗(yàn)、獨(dú)立性檢驗(yàn)和適合性檢驗(yàn)。適合性檢驗(yàn)和獨(dú)立性檢驗(yàn)都是應(yīng)用于離散型資料的假設(shè)檢驗(yàn),其基本原理是通過χ2值的大小來檢驗(yàn)觀測(cè)值(observed value, O)與理論值(expected value, E)之間的偏離程度。
在本文中,我們先介紹獨(dú)立性檢驗(yàn)和適合性檢驗(yàn)在R語(yǔ)言當(dāng)中的應(yīng)用冈爹。
在R中,卡方檢驗(yàn)的函數(shù)是chisq.test()
chisq.test()
:
chisq.test performs chi-squared contingency table tests and goodness-of-fit tests
chisq.test(x, y = NULL, correct = TRUE,
p = rep(1/length(x), length(x)), rescale.p = FALSE,
simulate.p.value = FALSE, B = 2000)
x
: 進(jìn)行檢驗(yàn)的數(shù)據(jù)欧引,可以是vector或matrix
y
: 進(jìn)行檢驗(yàn)的數(shù)據(jù)频伤,當(dāng)x是matrix時(shí),y會(huì)被忽略芝此,x和y可同時(shí)為factor憋肖。
correct
: 該邏輯參數(shù)控制2x2列聯(lián)表的獨(dú)立性檢驗(yàn)時(shí),是否進(jìn)行連續(xù)性矯正婚苹,即對(duì)所以|O-E| - 0.5
p
: 為輸入的概率值岸更,應(yīng)與x變量的長(zhǎng)度一致。注意p不可以為負(fù)數(shù)
rescale.p
: 該邏輯參數(shù)控制是否將p的和重新調(diào)整為1
simulate.p.value
: 控制是否以蒙特卡洛采樣的方法模擬p值
B
: 為蒙特卡洛采樣的重復(fù)次數(shù)膊升。
使用chisq.test
要更加注意在卡方檢驗(yàn)中:
零假設(shè)H0就是觀測(cè)值與理論值無顯著差別怎炊。
備擇假設(shè)HA是觀測(cè)值與理論值有顯著差別。
具體到適合性檢驗(yàn)的話廓译,H0:觀測(cè)值符合某個(gè)理論分布评肆;HA:觀測(cè)值不符合某個(gè)理論分布。
對(duì)于獨(dú)立性檢驗(yàn)而言非区,H0:事件A與事件B無顯著關(guān)系瓜挽,即A與B相互獨(dú)立;HA:事件A與事件B相關(guān)征绸。
適合性檢驗(yàn)
適合性檢驗(yàn)(compatibility test)是比較觀測(cè)值與理論值是否符合的假設(shè)檢驗(yàn)久橙。在生物學(xué)研究中,有很多情況都會(huì)使用到適合性檢驗(yàn)管怠,也成為擬合優(yōu)度檢驗(yàn)淆衷,下面我們以孟德爾經(jīng)典的例子來展示chisq.test()
在適合性檢驗(yàn)方面的應(yīng)用。
【例1】 孟德爾用豌豆的兩對(duì)相對(duì)性狀進(jìn)行雜交實(shí)驗(yàn)渤弛,黃色圓滑種子與綠色皺縮種子的豌豆雜交后祝拯,F(xiàn)2代分離的情況為:黃圓315、黃皺101暮芭、綠圓108鹿驼、綠皺32,共556粒畜晰,問此結(jié)果是否符合自由組合定律9:3:3:1?
> x <- c(315, 101, 108, 32) #輸入樣本資料
> p <- c(9/16, 3/16, 3/16, 1/16) #輸入待檢驗(yàn)的比例
> chisq.test(x, p = p)
Chi-squared test for given probabilities
data: x
X-squared = 0.47002, df = 3, p-value = 0.9254
chisq.test
直接的輸出值包括了:卡方值瑞筐、自由度和p值凄鼻。
從以上的p值來看聚假,這次檢驗(yàn)也是接受H0膘格,即實(shí)驗(yàn)結(jié)果符合自由組合定律的。
獨(dú)立性檢驗(yàn)
獨(dú)立性檢驗(yàn)(independent test)是判斷兩個(gè)或兩個(gè)以上因素之間是否具有關(guān)聯(lián)關(guān)系的假設(shè)檢驗(yàn)菜秦,常用列聯(lián)表進(jìn)行檢驗(yàn)嚣州。而列聯(lián)表又可分為2 x 2避诽,2 x c 佳吞, r x c的形式(r ≥ 3底扳, c ≥ 3)蒲赂,然而實(shí)則上三種列聯(lián)表的計(jì)算大同小異若皱,不同的只是2 x 2列聯(lián)表需要進(jìn)行連續(xù)性矯正走触。下面將分別以幾個(gè)例子展示chisq.test()
在獨(dú)立性檢驗(yàn)方面的應(yīng)用卧土。
2 x 2列聯(lián)表
【例2】 現(xiàn)隨機(jī)抽樣對(duì)吸煙人群和不吸煙人群是否患有氣管炎進(jìn)行調(diào)查,試檢驗(yàn)吸煙與患?xì)夤苎子袩o關(guān)聯(lián)?
> tab <- as.table(cbind(c(50,5), c(250,195))) #創(chuàng)建列聯(lián)表
> dimnames(tab) <- list(c("smoker", "non-smoker"),
+ c("illness", "un-illness"))
> tab
illness un-illness
smoker 50 250
non-smoker 5 195
> tab_Xsqtest <- chisq.test(tab)
> tab_Xsqtest
Pearson's Chi-squared test with Yates' continuity correction
data: tab
X-squared = 23.174, df = 1, p-value = 1.48e-06
在本例中:
H0:吸煙與患?xì)夤苎谉o關(guān)进苍。
HA:吸煙與患?xì)夤苎子嘘P(guān)杠人。
另外,由于是2 x 2列聯(lián)表獨(dú)立性檢驗(yàn)罩引,自由度小于2各吨,因此進(jìn)行了連續(xù)性矯正。檢驗(yàn)的p值小于0.01蜒程,說明吸煙與患?xì)夤苎子嘘P(guān)聯(lián)绅你。同時(shí)伺帘,我們還可以注意到chisq.test
還會(huì)輸出其他的內(nèi)容(但并沒有直接打印出來)
包括了:
- 樣本的觀測(cè)值
- 樣本的理論值
- 計(jì)算的殘差和標(biāo)準(zhǔn)化后的殘差
當(dāng)我們需要使用這些數(shù)據(jù)時(shí)昭躺,不妨將檢驗(yàn)的結(jié)果保存在一變量中,以便調(diào)用伪嫁。
2 x c列聯(lián)表
【例3】 現(xiàn)隨機(jī)抽樣對(duì)性別和參與的黨派進(jìn)行調(diào)查领炫,檢驗(yàn)性別與黨派是否有關(guān)。
> M <- as.table(rbind(c(762, 327, 468), c(484, 239, 477)))
> dimnames(M) <- list(gender = c("F", "M"),
+ party = c("Democrat","Independent", "Republican"))
> M
party
gender Democrat Independent Republican
F 762 327 468
M 484 239 477
> Xsq <- chisq.test(M)
> Xsq
Pearson's Chi-squared test
data: M
X-squared = 30.07, df = 2, p-value = 2.954e-07
卡方檢驗(yàn)的p值小于0.01张咳,說明性別與黨派是有顯著關(guān)系的帝洪。
可以注意到,2 x c 列聯(lián)表和2 x 2的代碼脚猾,除了輸入數(shù)據(jù)的差別外葱峡,其他也是幾乎一致的。而r x c的代碼也是更換輸入數(shù)據(jù)的差別而已龙助。
最后
獨(dú)立性分析反過來想的話砰奕,其實(shí)就是相關(guān)性分析,因此卡方檢驗(yàn)也可以在相關(guān)性分析中有用武之地提鸟。
當(dāng)然军援,Pearson Correlation和Fisher's exact test也是更為常用的相關(guān)性分析,有機(jī)會(huì)的話也會(huì)在后續(xù)的文章中向大家介紹這些方法称勋。
卡方檢驗(yàn)的R語(yǔ)言實(shí)例就介紹到這了胸哥,如有不足,請(qǐng)各位指出赡鲜。
完空厌。