Fast Fisher's Exact Test
Project description
Fisher's Exact Test
Simple, fast implementation of Fisher's exact test. For example, for the following table:
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 :
git clone git://github.com/brentp/fishers_exact_test.git
pip install .
From PyPI :
pip install fisher
Or install the development version :
pip install git+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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for fisher-0.post0.dev45-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | af14705458293e71a2985221ae168917f91dcde6bfee4e5c788d8b0e8461b50e |
|
MD5 | a37ee3ac3138e944f790b2d0db5fd03d |
|
BLAKE2b-256 | 0d4e95d7d6faa9ae5262d68558cc54a3c5e0fb117cdb777ca8020f656a57ee9a |
Hashes for fisher-0.post0.dev45-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8699f07c9b1e3c0ba17e7ed6e74d2231e96ebb20743a78eba68e508dde773453 |
|
MD5 | eb09622861503af5e2631d5a87c9f6b4 |
|
BLAKE2b-256 | e61e6700e6d3c222eb7314f326e354413fb0e5ed789f302a28afaec1995586f7 |
Hashes for fisher-0.post0.dev45-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ede311f0eb5b8eca6cf890e5aee4a322a0b9079faadb9a0a680c65a0eb74a5e4 |
|
MD5 | 9abed82c1b864e06aae5d21b2963fab6 |
|
BLAKE2b-256 | 940e3e8d59f0f738f1afaff54dc6d2ba09779f8c4147da79a5ede6050a0d9d0f |
Hashes for fisher-0.post0.dev45-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6835dae7a082bd1864d6d0f9bfdd664e7b966135b3da4763e8216ff8bb339fb6 |
|
MD5 | 44f007e9b56cb82afdb8beced05881c8 |
|
BLAKE2b-256 | ea7c1f6892e9c78aa89cf12431dd22602ff8b926b406854a2450dbb8b3fa194a |
Hashes for fisher-0.post0.dev45-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c568ba41f79f532b057d64912be5547e048eb218a164e9bff25a13308668daa6 |
|
MD5 | 03f5b006317bcc6f042afc6e5b3e2dfd |
|
BLAKE2b-256 | 68bf33649db04f64b6efd56cd313bb6eccd1845522a5de04f5c379f8af392cec |
Hashes for fisher-0.post0.dev45-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 14c1d6dabbef605b89416c7b92932aecbdddc4b651a78ce4bf5575b370a144da |
|
MD5 | 8ec49bffeed96f53a61dcc4ee326e58c |
|
BLAKE2b-256 | dbfb486b8f2ad861e8f5cbb273241e5a941e50c8482d231efaf6a0030e4e76ff |
Hashes for fisher-0.post0.dev45-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02816ac0b7c8ae6560636eab1ccbb9ed9f09ff3aa95f979d46a69398fccb7b0f |
|
MD5 | 4e2df2a7d40b2cce2273d77f808197d8 |
|
BLAKE2b-256 | 07c1e9a944571d6bd78ab4e333c0c23f129923aa93e2e9d7e15c1a3d66edd452 |
Hashes for fisher-0.post0.dev45-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4790c1babd38ac3de06fe811e21589b247df59fcda99aea8546729f6c53bc713 |
|
MD5 | 2ed9e73b1deb5908cd1c5c2bcb15fcfc |
|
BLAKE2b-256 | c9bae94d2b6301795ec7e718dcd0903f8a9a747ebd721215bf4e538c8d506fb1 |
Hashes for fisher-0.post0.dev45-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0217f4c91ed9abaaed0cab8d710158a787c9e577c7eb798667df6fa95b125be0 |
|
MD5 | 7ebb7ab1041f0db54c19ca81d47ee7b4 |
|
BLAKE2b-256 | bea46d6757a63bcafa2697b23c93d6192f8a3d9780c8c25aee4d6639bce27f46 |
Hashes for fisher-0.post0.dev45-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9c8a26793ca792e631f162fb066bb452281a2d08d6634598e74026570657bcc |
|
MD5 | 7f3a02e3373d3993772c76b821c287d7 |
|
BLAKE2b-256 | 58943bd2c2041287d3d1586abf48d526b33b562eef336af68500f62eeee52702 |
Hashes for fisher-0.post0.dev45-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8211d5a811b8ea6194a0454f39c72c3386c710c2eb550d875d80ad80768931c |
|
MD5 | a97f5504fe74bd42f276343a4bffb654 |
|
BLAKE2b-256 | 52790e6a6fb434c4d35cb0644127092be7c5461ddaa07fb7f2ae67d71649ac03 |
Hashes for fisher-0.post0.dev45-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01378918c824d651757a773f07d2ceb2d0ae5451a531209b4e5386eac65d5681 |
|
MD5 | 9370c5745d2907d50196e80d8a773ca7 |
|
BLAKE2b-256 | 851907b20396c90a70363fd5730864a3c330055e61f95d0a685056aa0b96d389 |
Hashes for fisher-0.post0.dev45-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e8a7bf0b31d361e717b5b4004b632c6d1a3bba68f4c1d566391f303a678a5bf |
|
MD5 | a91e0ab0d14f6057e4d4315324f1d17c |
|
BLAKE2b-256 | 5c1c4913922c9813e185b881a362b4a85ad9e1903f75b62f8865364a10751b3f |
Hashes for fisher-0.post0.dev45-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34949651eef7f37716a683603f9c84a23f68253bff1049a17e9a76219fab5af2 |
|
MD5 | ef8a8a69dc9a705369d39d7b21b6d0dd |
|
BLAKE2b-256 | d5819733291c632b56fc5513efa0aa9af21de2324a1a040648ea98991c7091ae |
Hashes for fisher-0.post0.dev45-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a89f6c23e94fbbf1723ff0744cae3d4590927311ab39904d7ad4ee518999b717 |
|
MD5 | 2ed3d6bebaabfe017caddc6e68af1b74 |
|
BLAKE2b-256 | b6ccfba444c84a5e47dfafba17e02015564cfe8b07d0caaf3c62795cbb7df27e |
Hashes for fisher-0.post0.dev45-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f985908bac93b4335bb183d33ad805d36857e4a0dd4a2a4e4da1aec4325dad75 |
|
MD5 | ded204bafa5e6e0ce941af6d61867e63 |
|
BLAKE2b-256 | 2a682a2437b24a6994495a25b6b7212641ce3e198b347525f335977464a18496 |
Hashes for fisher-0.post0.dev45-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b5cae8c0ab47e61dafd8f00a1b686b3f5f52e1e0bd964243bb2c9d12f04675e |
|
MD5 | 0d5cfa8c73a8ec02584974353dfeab9b |
|
BLAKE2b-256 | 02068a34677f610b63676c26d9e4dd4975dfa9164027e20209bcd63d18310d35 |
Hashes for fisher-0.post0.dev45-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c95ba5e3389548f5f498197805df58afcf1280384dd1b96c3775283465168721 |
|
MD5 | c3d0ed954a77e53066ee83af019f01e4 |
|
BLAKE2b-256 | 1cea49dbd0efdce52cb95d42e8b99de7a4abe63c92768a9a9dbeeb3ad119b7e3 |
Hashes for fisher-0.post0.dev45-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41754bfb0e79250d6bc3e54faed552360ff2926ad468055d97fadb462fa793ee |
|
MD5 | 278bd183a8942e708bb7861658c66707 |
|
BLAKE2b-256 | 0019db3c0f19195fc586cde2d54ec23a8409f19540f1a4ff1abe715361e95344 |
Hashes for fisher-0.post0.dev45-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92e5a5089f4845cacd952589dfb738c6f73a5cb6d26c4a7210c665e02b015fa7 |
|
MD5 | f2520bd5c385e608367fb270e791c1d0 |
|
BLAKE2b-256 | 008916f5e9182cb98b54fa7190ad61a325bea18dc7c587bc55457fba553104d4 |
Hashes for fisher-0.post0.dev45-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec871e0d32ceaf88d49214b178c7bb5bdd7593b103551468cf988cec5cb0fb7d |
|
MD5 | 2a733d9862ae8fcf943c0de553c6dfa4 |
|
BLAKE2b-256 | 3e95c4d63b7562e4ac107a410bf9a9f8c55e68594ecde668997f5a81e1a4a411 |
Hashes for fisher-0.post0.dev45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1a69b16fb3833bbd8221443255439ad309ad7be6057279af7dda4be904c6fec |
|
MD5 | df0402ea9c21cf130b60dbc25215f8b7 |
|
BLAKE2b-256 | b7bce350de0b52c73b821fb3534fcc33180783dccec9aae355358b259c5de8c9 |
Hashes for fisher-0.post0.dev45-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2acc04183eb29c79794e4cf90b43131fc9cca807eb5533618f77380b8a2c9ab0 |
|
MD5 | c9b2698d4fea3b0d40dc32a1a4fc2173 |
|
BLAKE2b-256 | e3c68520164201c1951e2082fedecaee633c5ad9b9b915271136587e1ee471d7 |
Hashes for fisher-0.post0.dev45-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a230bcb30e6d075783fe5280d5c3612117e00e7e1d51581267fd7b6763681888 |
|
MD5 | 1dc5026c25c4306bd20614377f813a2f |
|
BLAKE2b-256 | 82031408ef6baba4499391ebce631abf00b131ed46eacea8ff725438b22f66b8 |