File Exchange

image thumbnail

MyFisher33

version 1.6 (3.06 KB) by

A very compact routine to compute Fisher's exact test on a 3x3 matrix

2 Downloads

Updated

View License

Fisher's exact test of 3x3 contingency tables permits calculation of precise probabilities in situation where, as a consequence of small cell frequencies, the much more rapid normal approximation and chi-square calculations are liable to be inaccurate. The Fisher's exact test involves the computations of several factorials to obtain the probability of the observed and each of the more extreme tables. Factorials growth quickly, so it's necessary use logarithms of factorials. In Matlab this is very easy using the Gammaln function. The function uses preallocation and vectorization to speed-up the computations. Actually, the function also computes the mid-P correction to make the test less conservative.

Comments and Ratings (4)

Giuseppe Cardillo

in my PC version it is correct. Bah! I uploaded it again

Matthew

line 146: you must use "<=" not "<"

i.e., the line should read:

P=sum(np(np<=op));

(You want to sum across all probabilities that are less than or equal to the observed probability)

Giuseppe Cardillo

Thank you. If you need fisher onto 2x3 matrix it is on FEX: http://www.mathworks.com/matlabcentral/fileexchange/15399

In any case, you can use Myfisher that it is able to manage any kind of matrix
http://www.mathworks.com/matlabcentral/fileexchange/26883

Brani

Brani (view profile)

Elegant, fast, clean and accurate. Thanks!
Why not have myfisher32.m? Best wishes, B.-

Updates

1.6

Minor bug correction

1.4

Changes in description

1.3

Actually, the function also computes the mid-P correction to make the test less conservative.

1.2

Improvements in table enumeration

1.1

Changes in help section

6-fold speed up using preallocation

waitbar added

MATLAB Release
MATLAB 7.3 (R2006b)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today