R | 卡方检验

χ2检验主要有三个用途:单样本方差的同质性检验独立性检验适合性检验。适合性检验和独立性检验都是应用于离散型资料的假设检验,其基本原理是通过χ2值的大小来检验观测值(observed value, O理论值(expected value, E之间的偏离程度。

在本文中,我们先介绍独立性检验适合性检验在R语言当中的应用。


在R中,卡方检验的函数是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 : 进行检验的数据,可以是vector或matrix

y : 进行检验的数据,当x是matrix时,y会被忽略,x和y可同时为factor。

correct : 该逻辑参数控制2x2列联表的独立性检验时,是否进行连续性矫正,即对所以|O-E| - 0.5

p : 为输入的概率值,应与x变量的长度一致。注意p不可以为负数

rescale.p : 该逻辑参数控制是否将p的和重新调整为1

simulate.p.value : 控制是否以蒙特卡洛采样的方法模拟p值

B : 为蒙特卡洛采样的重复次数。


使用chisq.test要更加注意在卡方检验中:

  • 零假设H0就是观测值与理论值无显著差别。

  • 备择假设HA是观测值与理论值有显著差别。

具体到适合性检验的话,H0:观测值符合某个理论分布;HA:观测值不符合某个理论分布。

对于独立性检验而言,H0:事件A与事件B无显著关系,即A与B相互独立;HA:事件A与事件B相关。

适合性检验

适合性检验(compatibility test)是比较观测值与理论值是否符合的假设检验。在生物学研究中,有很多情况都会使用到适合性检验,也成为拟合优度检验,下面我们以孟德尔经典的例子来展示chisq.test() 在适合性检验方面的应用。

【例1】 孟德尔用豌豆的两对相对性状进行杂交实验,黄色圆滑种子与绿色皱缩种子的豌豆杂交后,F2代分离的情况为:黄圆315、黄皱101、绿圆108、绿皱32,共556粒,问此结果是否符合自由组合定律9:3:3:1?

> x <- c(315, 101, 108, 32)  #输入样本资料
> p <- c(9/16, 3/16, 3/16, 1/16)  #输入待检验的比例
> 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值来看,这次检验也是接受H0,即实验结果符合自由组合定律的。

独立性检验

独立性检验(independent test)是判断两个或两个以上因素之间是否具有关联关系的假设检验,常用列联表进行检验。而列联表又可分为2 x 2,2 x c , r x c的形式(r ≥ 3, c ≥ 3),然而实则上三种列联表的计算大同小异,不同的只是2 x 2列联表需要进行连续性矫正。下面将分别以几个例子展示chisq.test() 在独立性检验方面的应用。

2 x 2列联表

【例2】 现随机抽样对吸烟人群和不吸烟人群是否患有气管炎进行调查,试检验吸烟与患气管炎有无关联?

> tab <- as.table(cbind(c(50,5), c(250,195)))  #创建列联表
> 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:吸烟与患气管炎无关。

HA:吸烟与患气管炎有关。

另外,由于是2 x 2列联表独立性检验,自由度小于2,因此进行了连续性矫正。检验的p值小于0.01,说明吸烟与患气管炎有关联。同时,我们还可以注意到chisq.test还会输出其他的内容(但并没有直接打印出来)



包括了:

  • 样本的观测值
  • 样本的理论值
  • 计算的残差和标准化后的残差

当我们需要使用这些数据时,不妨将检验的结果保存在一变量中,以便调用。

2 x c列联表

【例3】 现随机抽样对性别和参与的党派进行调查,检验性别与党派是否有关。

> 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

卡方检验的p值小于0.01,说明性别与党派是有显著关系的。

可以注意到,2 x c 列联表和2 x 2的代码,除了输入数据的差别外,其他也是几乎一致的。而r x c的代码也是更换输入数据的差别而已。

最后

独立性分析反过来想的话,其实就是相关性分析,因此卡方检验也可以在相关性分析中有用武之地。

当然,Pearson Correlation和Fisher's exact test也是更为常用的相关性分析,有机会的话也会在后续的文章中向大家介绍这些方法。

卡方检验的R语言实例就介绍到这了,如有不足,请各位指出。

完。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容