fisher确切概率法-卡方检验和Fisher确切概率法,怎么选?

生活百科1年前 (2023)发布 aixure
65 0 0

今天解决一个问题:如何进行率的比较?

比方说,如何比较治疗组和对照组之间的治愈率?

此篇文章主要介绍以下内容:如何选择卡方检验和Fisher确切概率法;实用函数CrossTable()及其结果的解释。

卡方检验?还是Fisher确切概率法?

通常来说,关于率的比较,使用最广泛的方法应该是卡方检验(Pearson’s chi-squared test, χ2test)。

不过fisher确切概率法,卡方检验的使用需满足几个前提(Assumptions):

1. 数据相互独立。

2. 期望频次(expected frequencies)要大于5。

如果不满足上面的第二点(即小于5),则可以使用Fisher确切概率法(Fisher’s exact test)。

马上进入操作部分:

R包的安装

首先安装R包并载入。

install.packages("vcd")
install.packages("gmodels")
install.packages("tidyverse")
library(tidyverse) 数据处理
library(vcd)       # 使用到其中的数据集:Arthritis
library(gmodels)   CrossTable(),用于卡方检验和Fisher确切概率法

R包get!

准备数据

将会使用到{vcd}中研究关节炎治疗的数据”Arthritis”,在载入{vcd}之后该数据就可以直接查看与使用了。

summary(Arthritis)

fisher确切概率法-卡方检验和Fisher确切概率法,怎么选?

我们的目的是比较安慰剂组(Placebo)和试验组(Treated)之间治疗效果(Improved)是否有差异。

从上述可知,我们感兴趣的两个变量(Treatment和Improved)均为分类变量(Categorical variables)。

其中,Improved为一个3水平(“None”, “Some”, “Marked”)的分类变量,为了简化数据,将其变成一个2水平的变量,将“Some”从中剔除:

# 简化数据
mydata %
  select(Treatment, Improved) %>%
  filter(Improved %in% c("None", "Marked"))  # 剔除“Some”

‍‍提取数据的前40行作为新数据small,用于后续的Fisher确切概率法:

## 小样本small
small <- mydata[1:40,]

卡方检验

下面,小编将使用R包{gmodel}中的CrossTable()用于卡方检验。使用?CrossTable了解更多内容。

# 卡方检验
CrossTable(mydata$Treatment, mydata$Improved,
           chisq = T,      # 结果包括卡方检验
           expected = T,   # 结果包括期待频次
           prop.c = F,     # 不包括列的比例
           prop.t = F,     # 不包括在全表中占的比例
           prop.chisq = F

fisher确切概率法-卡方检验和Fisher确切概率法,怎么选?

结果主要分三部分:

Cell Contents:列出表格中每个空格包含的信息,真实个数、期望频次、该亚组行数/总行数。

Table: 每个亚组的信息。其中需注意的是期望频次(红框),如果都大于5就可以安心的使用卡方检验。

Statistics: 卡方检验的结果以及Yate’s校正后的结果。其中,p蓝框)说明安慰剂组与试验组之间的治疗效果存在统计学差异。

Fisher确切概率法

使用之前准备好的数据small,做Fisher确切概率法。作为比较说明,我们同时也做了卡方检验:

# 使用样本小的数据
CrossTable(small$Treatment, small$Improved,
           fisher = T, # 结果中包括Fisher确切概率法
           chisq = T,
           expected = T,
           prop.c = F, prop.t = F, prop.chisq = F)

结果的解释如下:

红框:有两个格子中期望频次小于5,说明此次分析不符合卡方检验的前提。

蓝框:Fisher确切概率法的输出结果,即双尾检验的p值;如果是单尾检验则看后两个结果。

绿框:当不符合卡方检验的前提时fisher确切概率法,如果强行进行卡方检验,R会“贴心”地给出警告信息(Warning message),提示卡方检验结果可能不准确,因此,更合适的选择应该是使用Fisher确切概率法。

好啦,今天的内容就到这里。

限时特惠:本站每日持续更新海量各大内部网赚创业教程,会员可以下载全站资源点击查看详情
站长微信:

© 版权声明

相关文章

暂无评论

暂无评论...