The function exact2x2Pvals
can calculate p-values for a vector of odds ratios.
The function exact2x2CI
is the code that calculates the confidence intervals for the two-sided
Fisher's exact test and Blaker's exact test. The functions binomMeldCalcInt
and binomMeldCalcMC
are called by binomMeld.test
.
fisherCalcMidp(x,or,alternative,conf.int,conf.level)
exact2x2Pvals(x, or, relErr=1+10^(-7),tsmethod = "minlike", alternative="two.sided")
exact2x2CI(x, tsmethod="minlike", conf.level=0.95, tol=0.00001, orRange=c(10^-10,10^10))
mcnemar.exact.calc(bb,cc,or,alternative,tsmethod="central",conf.level=.95, midp=FALSE)
binomMeldCalcInt(x1,n1,x2,n2,nullparm=NULL,
parmtype=c("difference","oddsratio","ratio"),
conf.level=0.95, conf.int=TRUE,
alternative=c("two.sided","less","greater"), midp=FALSE, eps=10^-8)
binomMeldCalcMC(x1,n1,x2,n2,nullparm=NULL,
parmtype=c("difference","oddsratio","ratio"),
conf.level=0.95, conf.int=TRUE,
alternative=c("two.sided","less","greater"),
midp=FALSE,nmc=10^6)
matrix representing 2 by 2 table
odds ratio, may be a vector
relative error. This is used to handle true ties on the computer. (see details).
either "minlike","blaker", "central"
logical, calculate CI?
confidence level
tolerance
range for search for odds ratio confidence interval
indicates the alternative hypothesis and must be
one of "two.sided"
, "greater"
or "less"
.
logical. Do midp adjustment?
Output from exact2x2Pvals
is a LIST, with
vector of odds ratios
vector of two-sided p-values
P-values for both the two-sided Fisher's exact and Blaker's exact test add probabilities from the opposite tail if
either the cumulative probabilities (for Blaker's test) or the probabilities (Fisher's test) are less than or equal to those
of the observed tail. Since sometimes the p-value at odds ratio=1 is important, we may have problems if the opposite tail is
some very small different probability due to computer rounding, when mathematically the probabilities are exactly the same
and should be included. To get around this problem fisher.test
uses relErr so that it chooses all
d<= d[i]*relErr and if mathematically d[i] is equal to another value in d but there is a slightly computer rounding error, that value
will be included. We use the same tactic here.
The function mcnemar.exact.calc
is just a simple call to binom.test
with
p=.5
.