File Exchange

image thumbnail

MyFisher33

version 2.0.0.0 by Giuseppe Cardillo
A very compact routine to compute Fisher's exact test on a 3x3 matrix

2 Downloads

Updated 06 Apr 2018

GitHub view license on GitHub

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)

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)

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

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

Updates

2.0.0.0

inputparser; table implementation; github link

1.6.0.0

Minor bug correction

1.4.0.0

Changes in description

1.3.0.0

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

1.2.0.0

Improvements in table enumeration

1.1.0.0

Changes in help section

1.0.0.0

Speeding up using preallocation and gammaln calculation

6-fold speed up using preallocation

waitbar added

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux