首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >大于2×2列联表的Fisher精确检验

大于2×2列联表的Fisher精确检验
EN

Stack Overflow用户
提问于 2014-08-19 00:54:30
回答 1查看 12.5K关注 0票数 19

Hi scipy stats实现了Fisher的精确测试,但它仅适用于2乘2列联表。我想在大于2x2的表格上做测试。(5x2 ,5x3)我知道R中有fisher.test可以完成这项工作,但我想在我的python代码中完成

有人知道可以在更大的表上工作的Fisher精确测试的python实现吗?

此外,我不确定是否可以在大于2x2的表格上进行Fisher的精确测试。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-09-16 21:54:04

是的,在大于2x2的表上做Fisher's精确测试是可以的。

目前在python中还没有任何干净的、经过广泛测试的解决方案。一种解决方案是使用rpy2并从python中调用R函数:

代码语言:javascript
运行
复制
import numpy as np
import rpy2.robjects.numpy2ri
from rpy2.robjects.packages import importr
rpy2.robjects.numpy2ri.activate()

stats = importr('stats')
m = np.array([[4,4],[4,5],[10,6]])
res = stats.fisher_test(m)
print 'p-value: {}'.format(res[0][0])
>> p-value: 0.668165917041

另一种解决方案是深入研究R实现使用的C代码,并直接调用该代码。这里有一个到某人的github project的链接,在那里他们回到了最初的fortran实现,并从python中调用了它。

票数 21
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25368284

复制
相关文章

相似问题

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