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值(举例说明,混淆矩阵可以表示两位判断者对于一系列对象进行分类所得结果的一致程度)。

相关推荐
Biomamba生信基地17 小时前
两天入门R语言,周末开讲
开发语言·r语言·生信
qwy71522925816317 小时前
13-R数据重塑
服务器·数据库·r语言
Bio Coder17 小时前
R语言安装生物信息数据库包
开发语言·数据库·r语言
Tiger Z17 小时前
R 语言科研绘图第 27 期 --- 密度图-分组
开发语言·程序人生·r语言·贴图
qwy7152292581631 天前
10-R数组
python·算法·r语言
拓端研究室TRL1 天前
R语言Stan贝叶斯空间条件自回归CAR模型分析死亡率多维度数据可视化
开发语言·信息可视化·数据挖掘·回归·r语言
还没想好1231 天前
不同安装路径重复R包清理
r语言
赵钰老师3 天前
【物种分布】基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作
开发语言·数据分析·r语言
关关钧5 天前
【R语言】聚类分析
开发语言·r语言
清同趣科研5 天前
扩增子分析|基于R包ggClusterNet包进行生态网络分析—十种可视化布局包括igraph,Gephi和maptree
开发语言·r语言