首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有一种方法来检查是否应该使用chi或Fisher的精确测试,然后自动运行?

是否有一种方法来检查是否应该使用chi或Fisher的精确测试,然后自动运行?
EN

Stack Overflow用户
提问于 2022-05-10 09:00:21
回答 1查看 124关注 0票数 1

我是R的新手,但我转向它,因为它是我唯一可用的软件,可以在大于2x2的表上执行Fisher的精确文本。

理论上,只有当至少80%的细胞的预期频率为5或更高,并且没有一个细胞的期望频率小于1.时,才能进行卡方检验。

我经常要对数以百计的表格进行多重分析,其中一些符合卡方的标准,而有些则应该使用费舍尔的测试。

我知道如何手工操作,生成应急表,查看它,计算是否应该使用Fisher's测试的奇方,然后使用chisq.test()/fisher.test()运行测试。

有什么方法可以使这个过程自动化吗?一些将检查过程自动化并将其压缩到单个命令中的方法,并根据其输出自动执行chi-square或Fisher的测试

我希望我说得很清楚,感谢所有读过它的人:)

EN

回答 1

Stack Overflow用户

发布于 2022-08-14 15:25:24

您可以创建一个自定义函数:

代码语言:javascript
复制
myfun <- function(data, var1, var2, chi = TRUE) {
  t <- table(data[[var1]], data[[var2]])

  if (chi) {
    chisq.test(t)
  } else {
    fisher.test(t)
  }
}

然后在你认为合适的时候应用它:

代码语言:javascript
复制
myfun(dat, "gender", "netflix")

    Pearson's Chi-squared test with Yates' continuity correction

data:  t
X-squared = 0, df = 1, p-value = 1

myfun(dat, "gender", "guns", chi = FALSE)

    Fisher's Exact Test for Count Data

data:  t
p-value = 0.0003284
alternative hypothesis: true odds ratio is not equal to 1
95 percent confidence interval:
   2.867735 118.989345
sample estimates:
odds ratio 
  15.45796 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72183413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档