文章目录
- 列联表
- 一维列联表
- 二维列联表
- 三维列联表
- 独立性检验
- 卡方检验
- Fisher精确检验
- Cochran-Mantel-Haenszel检验
列联表
列联表可以告诉你组成表格的各种变量组合的频数或比例
一维列联表
data <- with(Arthritis,table(Improved)) ## 简单的频数统计表dataprop.table(data) ## 将频数转化为比例值prop.table(data)*100 ## 转化为百分比
二维列联表
data <- xtabs(~Treatment+Improved, data = Arthritis) ## 生成二维列联表
data
margin.table(data,1)
prop.table(data,1)
addmargins(data)
addmargins(prop.table(data)) ## 添加所有变量的边际和
addmargins(prop.table(data,1),2) ## 仅添加各行的边际和
addmargins(prop.table(data,1),1) ## 仅添加各列的边际和library(gmodels)
CrossTable(Arthritis$Treatment,Arthritis$Improved)
三维列联表
data <- xtabs(~Treatment+Improved+Sex, data = Arthritis)dataftable(data)margin.table(data,1)
margin.table(data,2)
margin.table(data,3)margin.table(data,c(1,3))ftable(prop.table(data,c(1,2)))ftable(addmargins(prop.table(data,c(1,2)),3))
独立性检验
对列联表中各变量之间是否相关或独立进行检验
卡方检验
library(vcd)data <- xtabs(~Treatment+Improved, data = Arthritis) ## 生成二维列联表chisq.test(data) ## 卡方检验data <- xtabs(~Sex+Improved, data = Arthritis) ## 生成二维列联表chisq.test(data) ## 卡方检验
P值小于0.05,代表变量间不独立
Fisher精确检验
data <- xtabs(~Treatment+Improved, data = Arthritis) ## 生成二维列联表fisher.test(data)
Cochran-Mantel-Haenszel检验
data <- xtabs(~Treatment+Improved+Sex, data = Arthritis) ## 生成三维列联表mantelhaen.test(data) ##必须是三维列联表
参考文献
Kabacoff, R. (2016). R 语言实战. Ren min you dian chu ban she.