Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Fisher's Exact Test

by resonator (Initiate)
on Apr 18, 2007 at 17:41 UTC ( #610806=note: print w/replies, xml ) Need Help??


in reply to Fisher's Exact Test

Hi.

Have you checked the results of your code for Fisher's Exact Test? I don't think it produces correct results.

Here's a utility that produces results identical to those I calculate: http://www.exactoid.com/fisher/index.php

This expression at the beginning of your code seems odd:

$test = $a*($a+$b+$c+$d ) - ($a+$b)*($a+$c);
It simplifies to: $test = $a*$d - $b*$c;

I don't follow why you have this:

return 1 if $test < 0 and $ts;
For example, if a = 1, b = 50, c = 10 and d = 5, P(one-sided) = P(two-sided) = 1.4386e-07, not 1.

Nevertheless, thanks for the tip about calculating factorials only once. Let me know if I've misunderstood something.

Replies are listed 'Best First'.
Re^2: Fisher's Exact Test
by Anonymous Monk on Aug 20, 2012 at 23:34 UTC
    I think it is correct. It is justified because $ts implies one-side test, so the p-value is indeed 1. Hao
      I think it is wrong. $ts means two-side, not one-side.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://610806]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (2)
As of 2023-02-08 04:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I prefer not to run the latest version of Perl because:







    Results (40 votes). Check out past polls.

    Notices?