# p-values different for binomial test vs. proportions test. Which to report?

The following binomial test (exact binomial test) has a p-value of 0.05698, greater than 0.05 by a bit. 95% CI is (0.5698, 0.8077).

binom.test(x = 44, n = 63, p = 0.8, alternative = "two.sided")


The following proportions test (without Yates' continuity correction) has a p-value of 0.04382, less than 0.05 by a bit. 95% CI is (0.5764, 0.7976).

prop.test(x = x1, n = n1, p = 0.8, alternative = "two.sided", correct = FALSE)


So, which test should I choose? Which p-value to report? Thanks.

• Please tell us what hypothesis you are testing. Also fix a mistake: "less" and "greater" are flipped. Dec 28, 2013 at 17:51
• The answer you're looking for probably manifests from the underlying reasons why the proportions test is "approximate" and the binomial test is "exact." Dec 28, 2013 at 18:14
• Thanks @ndoogan, @Harvey. Does this mean that the binomial test (exact binomial test) is always preferred to the normal approximation in prop.test()? Some textbooks say that when the sample size $n$ is large, the binomial distribution is cumbersome to work with, and the normal approximation can be considerably more convenient. I guess such textbooks are saying so in the context of pen-and-paper calculations? With computers, is there still a need to do such approximations? Dec 29, 2013 at 3:06
• If a well-considered significance test is part of your strategy, and if you are in doubt as to whether one type of test is more applicable than the other, best practice is to report results from both so as not to give the appearance of cherry-picking. As to the "well considered" part, I recommend stats.stackexchange.com/questions/10510/…. Dec 29, 2013 at 13:33
• @DanWu, you’re right that the binomial test is more cumbersome to work with for large n, but this only true if you’re calculating the results by hand. As long as you use R, there is no problem. And for large n it doesn’t matter, as both functions give approximately the same answer. But do note that prop.test() uses the score test, not a Wald test (which I guess is what the textbooks were talking about). Anyway, in practice, there is no reason not to use binom.test(), as this always gives exact P-values. Jan 19, 2014 at 13:00

• Hi @Germaniawerks, I used prop.test in the context of normal approximation to the binomial distribution, by the rule of thumb that $np$ and $n(1 − p)$ are both greater than 5. Dec 29, 2013 at 2:47