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

相关推荐
lisw051 天前
R语言的专业网站top5推荐
开发语言·r语言
清同趣科研1 天前
扩增子分析|R分析之微生物生态网络稳定性评估之节点和连接的恒常性、节点持久性以及组成稳定性指数计算
开发语言·r语言
zm-v-159304339863 天前
解锁生命周期评价密码:OpenLCA、GREET 与 R 语言的融合应用
r语言·生命周期
生信大杂烩3 天前
R语言绘图 | 渐变火山图
数据分析·r语言
KY_chenzhao5 天前
用R语言+随机森林玩转遥感空间预测-基于R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析
随机森林·机器学习·r语言·生态·遥感·空间预测
没有梦想的咸鱼185-1037-16635 天前
【生命周期分析(Life Cycle Assessment: LCA)】基于OpenLCA、GREET、R语言的生命周期评价方法、模型构建及典型案例应用
数据分析·r语言
没有梦想的咸鱼185-1037-16636 天前
全球森林数据如何分析?基于R语言森林生态系统结构、功能与稳定性分析与可视化
开发语言·随机森林·数据分析·r语言
Tiger Z6 天前
R 语言科研绘图 --- 桑基图-汇总
开发语言·r语言·贴图
Expecto08 天前
因子分析——数学原理及R语言代码
算法·r语言·统计学·多元统计分析
人类群星闪耀时8 天前
R语言数据挖掘:从“挖井”到“淘金”
开发语言·数据挖掘·r语言