MyFisher22

버전 2.0.0.0 (15.8 KB) 작성자: Giuseppe Cardillo
A very compact routine for Fisher's exact test on 2x2 matrix; power and sample sizes calculation
다운로드 수: 3.8K
업데이트 날짜: 2018/4/6

Fisher's exact test of 2x2 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. This computations is very easy in Matlab because x!=gamma(x+1) and log(x!)=gammaln(x+1).
I rewrote this function several times: now the fully vectorization, the preallocation, the using of a recursive relationship for the Fisher's exact test on 2x2 matrix and the using of logarithm greatly speed up the execution.
It is faster than the previously submitted Fisherextest. In fact, I performed this test comparing the core of both scripts (deleting the input error check, the code to display results and compute the power). X=[70 30; 29 80] (100 tables to evaluate)
times=zeros(1,1000); for I=1:1000, tic; myfisher22(X); times(I)=toc; end, median(times)
ans = 1.3000e-4
The same for Fisherextest: ans = 0.0024

So my function in about 18.5 fold faster

Actually, the function also computes the mid-P correction to make the test less conservative.
Moreover, the routine computes the Power and, if necessary, the sample sizes needed to achieve a power=0.80 using a modified asymptotic normal method with continuity correction as described by Hardeo Sahai and Anwer Khurshid in Statistics in Medicine, 1996, Vol. 15, Issue 1: 1-21.

인용 양식

Giuseppe Cardillo (2024). MyFisher22 (https://github.com/dnafinder/myfisher22), GitHub. 검색됨 .

MATLAB 릴리스 호환 정보
개발 환경: R2014b
모든 릴리스와 호환
플랫폼 호환성
Windows macOS Linux
카테고리
Help CenterMATLAB Answers에서 Hypothesis Tests에 대해 자세히 알아보기
도움

받음: Fisherextest

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

GitHub 디폴트 브랜치를 사용하는 버전은 다운로드할 수 없음

버전 게시됨 릴리스 정보
2.0.0.0

inputparser; table implementation; github link

1.17.0.0

Little improvement suggested by Dr Lee Baker
Centre for Oncology and Molecular Medicine
University of Dundee

1.10.0.0

The MatLab BAR function doesn't work properly to display the bars that I want, so I set-up ad-hoc subroutine using the FILL function.

1.9.0.0

I added the possibility to plot the Wald statistics plot

1.8.0.0

Changes in description

1.7.0.0

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

1.6.0.0

Bug in np(1) computation was fixed. Another slight improvement in times computation (it is 1.0231 fold faster than my previous submission)

1.5.0.0

Some changes in commentary lines. Changes in Description

1.4.0.0

little improvements in tables enumeration

1.3.0.0

The fuction is now speeded up using recursion to compute all p-values

1.1.0.0

Changes in help section

1.0.0.0

mistake correction

이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.
이 GitHub 애드온의 문제를 보거나 보고하려면 GitHub 리포지토리로 가십시오.