Skip to content
Fishers Exact Test for Python (Cython)
Python
Branch: master
Clone or download
shouldsee and brentp Fix pip install (#24)
fix pip install
Latest commit c8af591 May 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
fisher A lof of small things Jan 14, 2016
scripts adjust print Jun 26, 2014
src
.gitignore
.travis.yml
MANIFEST.in add README.rst to MANIFEST.in Mar 23, 2010
README.rst
requirements.txt
setup.py Fix pip install (#24) May 16, 2019
tests.py A lof of small things Jan 14, 2016

README.rst

Fisher's Exact Test

https://travis-ci.org/brentp/fishers_exact_test.svg?branch=master

Simple, fast implementation of Fisher's exact test. . For example, for the following table:

o Having the property Not having the property
Selected 12 5
Not selected 29 2

Perhaps we are interested in whether there is any difference of property in selected vs. non-selected groups, then we can do the Fisher's exact test.

Installation

within this folder

easy_install .

from pypi

easy_install fisher

or from github (contributions welcomed)

git clone git://github.com/brentp/fishers_exact_test.git

Usage

fisher.pvalue() accepts 4 values corresponding to the 2-by-2 contingency table, returns an object with attributes for left_tail, right_tail, and two_tail p-values

>>> from fisher import pvalue
>>> mat = [[12, 5], [29, 2]]
>>> p = pvalue(12, 5, 29, 2)
>>> p.left_tail, p.right_tail, p.two_tail  # doctest: +NORMALIZE_WHITESPACE, +ELLIPSIS
(0.04455473783507..., 0.994525206021..., 0.0802685520741...)

Benchmark

A simple benchmark that calls the Fisher's exact test 1000 times (in scripts/rfisher.py):

calling python fisher...
iterations/sec: 3000.62526381
calling rpy fisher...
iterations/sec: 289.225902364
calling R directly...
iterations/sec: 244.36542276

So the cython fisher is up to 10 times faster than rpy or R version.

You can’t perform that action at this time.