W przypadku założenie dystrybucyjne podaje dwie niezależne dwumianowe zmienne losowe X 1 ∼ B i n ( n 1 , θ 1 ) i X 2 ∼ B i n ( n 2 , θ 2 ) . Hipotezą zerową jest równość θ 1 = θ 2 . Ale dokładny test Fishera jest testem warunkowym: opiera się na rozkładzie warunkowym X 1, biorąc pod uwagę X 12×2X1∼Bin(n1,θ1)X2∼Bin(n2,θ2)θ1=θ2X1 . Ten rozkład jest rozkładem hipergeometrycznym z jednym nieznanym parametrem: iloraz szans ψ = θ 1X1+X2 , a następnie hipoteza zerowa wynosiψ=1.ψ=θ11−θ1θ21−θ2ψ=1
Ta dystrybucja ma swoją stronę w Wikipedii .
Aby ocenić to za pomocą R, możesz po prostu użyć wzoru określającego prawdopodobieństwo warunkowe:
p1 <- 7/27
p2 <- 14/70
x1 <- 7; n1 <- 27
x2 <- 14; n2 <- 56
#
m <- x1+x2
dbinom(x1, n1, p1)*dbinom(x2, n2, p2)/sum(dbinom(0:m, n1, p1)*dbinom(m-(0:m), n2, p2))
[1] 0.1818838
Lub użyj dnoncenhypergeom
funkcji MCMCpack
pakietu:
psi <- p1/(1-p1)/(p2/(1-p2)) # this is the odds ratio
MCMCpack::dnoncenhypergeom(x=x1, n1, n2, x1+x2, psi)
[1] 0.1818838