binomTest(y1, y2, n1=sum(y1), n2=sum(y2), p=n1/(n1+n2))
y1
.
Non-integer values are rounded to the nearest integer.p
is supplied.p
is supplied.y1
to the total for each gene under the null hypothesis.An exact two-sided binomial test is computed for each gene.
This test is closely related to Fisher's exact test for 2x2 contingency tables but, unlike Fisher's test, it conditions on the total number of counts for each gene.
The null hypothesis is that the expected counts are in the same proportions as the library sizes, i.e., that the binomial probability for the first library is n1/(n1+n2)
.
The two-sided rejection region is chosen analogously to Fisher's test. Specifically, the rejection region consists of those values with smallest probabilities under the null hypothesis.
When the counts are reasonably large, the binomial test, Fisher's test and Pearson's chisquare all give the same results. When the counts are smaller, the binomial test is usually to be preferred in this context.
This function replaces the earlier sage.test
functions in the statmod and sagenhaft packages.
It produces the same results as binom.test
in the stats packge, but is much faster.
http://en.wikipedia.org/wiki/Fisher's_exact_test
http://en.wikipedia.org/wiki/Serial_analysis_of_gene_expression
http://en.wikipedia.org/wiki/RNA-Seq
sage.test
(statmod package), binom.test
(stats package)
binomTest(c(0,5,10),c(0,30,50),n1=10000,n2=15000)
# Univariate equivalents:
binom.test(5,5+30,p=10000/(10000+15000))$p.value
binom.test(10,10+50,p=10000/(10000+15000))$p.value
Run the code above in your browser using DataLab