note
resonator
Hi.
<p>
Have you checked the results of your code for Fisher's Exact Test? I don't think it produces correct results.
<p>
Here's a utility that produces results identical to those I calculate:
[http://www.exactoid.com/fisher/index.php]
<p>
This expression at the beginning of your code seems odd:
<c>
$test = $a*($a+$b+$c+$d ) - ($a+$b)*($a+$c);
</c>
It simplifies to:
<c>$test = $a*$d - $b*$c;</c>
<p>
I don't follow why you have this:
<c>
return 1 if $test < 0 and $ts;
</c>
For example, if a = 1, b = 50, c = 10 and d = 5, P(one-sided) = P(two-sided) = 1.4386e-07, not 1.
<p>
Nevertheless, thanks for the tip about calculating factorials only once. Let me know if I've misunderstood something.
482919
482919