Metadata-Version: 2.1
Name: fisher-modified
Version: 0.1.5
Summary: Forked from fisher (https://github.com/brentp/fishers_exact_test). Recompile it with Cython 0.29.4 to be compatible with Python 3.7.
Home-page: https://github.com/lilab-bcb/fishers_exact_test
Author: haibao tang, brent pedersen; Bo Li
Author-email: bli28@mgh.harvard.edu
License: BSD
Keywords: statistics cython
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3
Requires-Dist: numpy

Fisher's Exact Test
===================

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

Simple, fast implementation of `Fisher's exact test <http://en.wikipedia.org/wiki/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.


