chisq.test()函数对二维表的行列变量进行卡方检验
使用vcd包中Arthritis数据集
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值小于0.05,说明治疗情况和改善情况不独立。
Fisher精确检验
fisher.test()函数
格式fisher.test(mytable),mytable是一个二维列联表
library(vcd)
mytable <- xtabs(~Treatment+Improved,data = Arthritis)
调用fisher.test()函数
fisher.test(mytable)
Fisher's Exact Test for Count
Data
data: mytable
p-value = 0.001393
alternative hypothesis: two.sided
P小于0.05,两者之间不独立
Cochran-Mantel-Haenszel检验
为两个二分类变量进行分层卡方检验。
mantelhaen.test()
mytable <- xtabs(~Treatment+Improved+Sex,data = Arthritis)
调用mantelhaen.test()函数
mantelhaen.test(mytable)
Cochran-Mantel-Haenszel test
data: mytable
Cochran-Mantel-Haenszel M^2 =
14.632, df = 2, p-value =
0.0006647
结果表明,患者接受的治疗与得到的改善在性别的每一水平下并不独立
其他实例
#四个表卡方检验--数据框数据格式
a <- c(9,2)
b <- c(4,9)
y <- data.frame(a,b)
chisq.test( y)
chisq.test(y,correct = F) #无连续性较正计算结果
chisq.test(y)$observed #观察值(实际数)
chisq.test(y)$expected #期望值(理论数)
print('=======================')
fisher.test(y)
#四个表卡方检验---矩阵数据格式
z <- matrix(c(12, 5, 7, 7), ncol = 2)
chisq.test(z)
print('======================')
#行X列表卡方检验
x <- matrix(c(50,48,18,72,105,10,7,23), ncol = 2)
chisq.test(x)
print('======================')