An accurate and Julia-native implementation of Fisher's Exact Test for Julia. (No need to ccall
external C library)
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.
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 |
Fisher's Exact Test was extracted from bedtools