Skip to content

An accurate and native implementation of Fisher's Exact Test for Julia.

License

Notifications You must be signed in to change notification settings

MitsuhaMiyamizu/FishersExactTest.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FishersExactTest.jl

An accurate and Julia-native implementation of Fisher's Exact Test for Julia. (No need to ccall external C library)

Motivation

We and someone else found an accuracy-related bug in the implementation of Fisher's Exact Test provided by JuliaStats, it seems that due to technical limitations behind their algorithm, the bug cannot be fixed in a short period of time.

To ensure the accuracy of the implementation in our package, we compare our result to known facts in Wikipedia and use fisher.test in R to validate our result, which yields a spot-on match.

How to use

Simply by querying

import Pkg; Pkg.add("FishersExactTest")
using FishersExactTest
FisherExact2x2Test(a, b, c, d);

k = FisherExact2x2Test(a, b, c, d, opt = :silent);
k.p          # p_value
k.left_tail  # left_tail
k.right_tail # right_tail
k.two_tail   # two_sides

# Options for printing
FisherExact2x2Test(a, b, c, d, opt = :verbose);
# Options for suppress print
k = FisherExact2x2Test(a, b, c, d, opt = :silent);

where a, b, c, d are distributed in

a b
c d

Reference

Fisher's Exact Test was extracted from bedtools

Courtesy

@Ionizing

@atlasmir

About

An accurate and native implementation of Fisher's Exact Test for Julia.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published