R之独立性检验

# 独立性检验
# R提供了多种检验类别型变量独立性的方法。本节中描述的三种检验分别为卡方独立性检验、
# Fisher精确检验和Cochran-Mantel–Haenszel检验。

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

library(vcd)
mytable<-xtabs(~Treatment+Improved,data = Arthritis)
mytable
# 
# > mytable
# Improved
# Treatment None Some Marked
# Placebo   29    7      7
# Treated   13    7     21

chisq.test(mytable)

# > chisq.test(mytable)
# 
# Pearson's Chi-squared test
# 
# data:  mytable
# X-squared = 13.055, df = 2, p-value = 0.001463

mytable<-xtabs(~Improved+Sex,data = Arthritis)

chisq.test(mytable)

# > chisq.test(mytable)
# 
# Pearson's Chi-squared test
# 
# data:  mytable
# X-squared = 4.8407, df = 2, p-value = 0.08889

# 这里的p值表示从总体中抽取的样本行变量与列变量是相互独立的概率。
# 在结果1中,患者接受的治疗和改善的水平看上去存在着某种关系(p < 0.01)。2 而患者性别
# 和改善情况之间却不存在关系(p > 0.05)
# 
# 由于1的概率值很小,所以你拒绝了治疗类型和治疗结果相互独立的原假设
# 
# 由于2的概率不够小,故没有足够的理由说明治疗结果和性别之间是不独立的




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

mytable<-xtabs(~Treatment+Improved,data = Arthritis)
fisher.test(mytable)
# > fisher.test(mytable)
# 
# Fisher's Exact Test for Count Data
# 
# data:  mytable
# p-value = 0.001393
# alternative hypothesis: two.sided

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

mytable<-xtabs(~Treatment+Improved+Sex,data=Arthritis)
mantelhaen.test(mytable)


# > mantelhaen.test(mytable)
# 
# Cochran-Mantel-Haenszel test
# 
# data:  mytable
# Cochran-Mantel-Haenszel M^2 = 14.632, df = 2, p-value = 0.0006647
# 结果表明,患者接受的治疗与得到的改善在性别的每一水平下并不独立


 

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值