独立性检验

  • 卡方独立性检验

chisq.test()对而二维表的行变量和列变量进行卡方独立性检验ide

> library(vcd)
> mytable <- xtabs(~Treatment+Improved, data=Arthritis)
> chisq.test(mytable)

	Pearson's Chi-squared test

data:  mytable
X-squared = 13.055, df = 2, p-value = 0.001463
#p-value 表示从整体中抽取的样本行变量与列变量是互相独立的几率,p<a(=0.05)通常认为发生的几率很小
#统计学上的解释
#假设 H0: 行变量与列变量互相独立, H1:行变量与列变量不独立,经过卡方检验,计算出p值,而后与a(=0.05)进行比较, P < a(=0.05)则认为两个变量独立的几率比0.05还要小,通常不会发生,因此拒绝H0,接受H1

> mytable <- xtabs(~Improved+Sex, data=Arthritis)
> chisq.test(mytable)

	Pearson's Chi-squared test

data:  mytable
X-squared = 4.8407, df = 2, p-value = 0.08889   #p>a(0.05)则接受H0,拒绝H1,表示没有充分的证听说明二者是不独立的

 

  • Fisher精确检验

fisher.test()进行Fisher精确检验,Fisher精确检验的原假设是:边界固定的列联表中行和列是互相独立的,调用格式为 fisher.test(mytable),其中mytable是一个二维列联表函数

> mytable <- xtabs(~Treatment+Improved, data=Arthritis)
> fisher.test(mytable)

	Fisher's Exact Test for Count Data

data:  mytable
p-value = 0.001393
alternative hypothesis: two.sided

spa

fisher.test()函能够在任意行列数大于等于2的二维列联表上使用,但不能用于 2*2列联表code

 

  • Conchran-Mantel-Haenszel检验

mantelhasen.test()函数能够进行Conchran-Mantet-Haenszel卡方检验,其假设是,两个名义变量在第三个变量的每一层中都是条件独立的。下列代码能够检验能够检验Treatment和Improved,在sex每一水平下是否独立,此检验不存在三阶交互做用( Treatment*Improved*sexit

> mytable <- xtabs(~Treatment+Improved+Sex, data=Arthritis)
> mantelhaen.test(mytable)

	Cochran-Mantel-Haenszel test

data:  mytable
Cochran-Mantel-Haenszel M^2 = 14.632, df = 2, p-value = 0.0006647
#Treatment与Improved在sex的每一个水平下并不独立
相关文章
相关标签/搜索