R语言统计分析——独立性检验

参考资料:R语言实战【第2版】

R语言提供了多种检验类别型变量独立性的方法。

1、卡方独立性检验

我们可以使用chisq.test()函数对二维表的行变量和列变量进行卡方独立性检验。

R 复制代码
# 导入vcd包
library(vcd)
# 创建联列表
mytable<-xtabs(~Treatment+Improved,data=Arthritis)
# 查看列联表
mytable
# 卡方检验
chisq.test(mytable)

结果解读:卡方值为13.055,对应的p值为0.001463,小于0.05,说明治疗方案和改善水平之间存在显著的相关关系。对于本例而言,如果联列表中有一个单元格的数值小于5,则卡方值的计算需要进行矫正

2、Fisher精确检验

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

R 复制代码
# 创建列联表
mytable<-xtabs(~Treatment+Improved,data=Arthritis)
# 查看列联表
mytable
# Fisher精确检验
fisher.test(mytable)

值得注意的是:这里的fisher.test()函数可以在任意行列数大于等于2的联列表上使用,但不能用于2×2的列联表。

3、Cochran-Mantel-Haenszel检验

mantelhaen.test()函数可用来进行Cochran-Mantel-Haenszel卡方检验,其原假设是,两个名义变量在第三个变量的每一层中都是条件独立的。下列大妈可以检验治疗情况和改善情况在性别的每一水平下是否独立。此检验假设不存在三阶交互作用(即治疗情况×改善情况×性别)。

R 复制代码
# 创建三维的联列表
mytable<-xtabs(~Treatment+Improved+Sex,data=Arthritis)
# Cochran-Mantel-Haenszel检验
mantelhaen.test(mytable)

结果表明,患者接受的治疗方案与得到的改善情况在性别的每一水平下并不独立。

4、相关性的度量

如果在独立性检验中拒绝了原假设(即相互独立),那么我们的兴趣点就会转向用以衡量相关性强弱的相关性度量。vcd包中的assocstats()函数可以用来计算二维列联表的phi系数、列联系数和Cramer's V系数。

R 复制代码
# 加载vcd包
library(vcd)
# 创建联列表
mytable<-xtabs(~Treatment+Improved,data=Arthritis)
# 联列表相关性分析
assocstats(mytable)

总体来说,较大的值意味着较强的相关性。vcd包也提供了kappa()函数,可以计算混淆矩阵的Cohen's kappa值以及加权的kappa值(举例说明,混淆矩阵可以表示两位判断者对于一系列对象进行分类所得结果的一致程度)。

相关推荐
海大哥11 小时前
深入解析Java中HashMap的工作原理与性能优化策略
r语言
万粉变现经纪人1 天前
如何解决 pip install -r requirements.txt 约束文件 constraints.txt 仅允许固定版本(未锁定报错)问题
开发语言·python·r语言·django·beautifulsoup·pandas·pip
万粉变现经纪人1 天前
如何解决 pip install -r requirements.txt 无效可编辑项 ‘e .‘(-e 拼写错误)问题
开发语言·python·r语言·beautifulsoup·pandas·pip·scipy
zhangfeng11332 天前
亲测可用,R语言 ggplot2 箱线图线条控制参数详解,箱线图离散数值控制
开发语言·python·r语言·生物信息
zhangfeng11332 天前
R 导出 PDF 时中文不显示 不依赖 showtext** 的最简方案(用 extrafont 把系统 TTF 真正灌进 PDF 内核)
开发语言·r语言·pdf·生物信息
生物小卡拉2 天前
R脚本--PCA分析系列1_v1.0
开发语言·r语言
生物小卡拉2 天前
R脚本——LefSE分析与可视化-v1
开发语言·r语言
猫头虎3 天前
如何解决 pip install -r requirements.txt 本地轮子路径 ‘./packages/xxx.whl’ 不存在 问题
开发语言·网络·python·r语言·pip·gpu算力·国产
zhangfeng11334 天前
R语言 表达矩阵 count_table 筛选出 行名是 某个 基因的 数据或者某个列中的数据是某个基因的数据
矩阵·r语言·生物信息
zhangfeng11335 天前
geo Counts 数据 ,机器学习 模型的外部验证 ROC外部验证数据处理流程
人工智能·机器学习·r语言·生物信息