Re: [R] Confidence interval for the difference between proportions - method used in prop.test()

From: Joshua Wiley <>
Date: Tue, 05 Apr 2011 06:59:02 -0700

Hi Stefanie,

Just to be clear, we are talking about differences in the third or lower decimal place (at least with R version 2.13.0 alpha (2011-03-17 r54849), Epi_1.1.20). This strikes me as small enough that both functions may be implementing the same method, but maybe slightly different ways of going about it?

If you are really concerned and need to know *exactly*, look at the source code for both functions. In case you did not know, if you type the function name at the console with parentheses or any arguments, just like:

> prop.test
> ci.pd

it will show the actual function code. It looks to me like both of them are implemented purely in R, and without even calling any other complex functions (at least based on a quick glance through). This means if you have the Newscomb text, you should be able to sit down and go through the code step by step comparing it.



FYI, you can use a matrix with prop.test, and then its transpose for ci.pd. ##
mymat <- cbind(Successes = c(21, 41), Failures = c(345, 345) - c(21, 41)) require(Epi)
results <- list(prop.test(mymat, correct=FALSE), ci.pd(t(mymat))) results[[1]][[""]] - results[[2]][6:7]

On Tue, Apr 5, 2011 at 3:38 AM, Stefanie Von Felten <> wrote:
> Hello,
> Does anyone know which method from Newcombe (1998)* is implemented in prop.test for comparing two proportions?
> I would guess it is the method based on the Wilson score (for single proportion), with and without continuity correction  for prop.test(..., correct=FALSE) and prop.test(..., correct=TRUE). These methods would correspond to no. 10 and 11 tested in Newcombe, respectively. Can someone confirm this? If not, which other methods are implemented by prop.test?
> * Newcombe R.G. (1998) Two-Sided Confidence Intervals for the Single Proportion: Comparison of Seven Methods.  Statistics in Medicine  *17*, 857-872.
> There is also the function ci.pd() from the R-package Epi, which should implement method no. 10 from Newcombe. However, prop.test(..., correct=FALSE) and ci.pd do not give the same result if I do the following:
> successes <- c(21, 41)
> total <- c(345, 345)
> prop.test(successes, total, correct=FALSE)
> library(Epi)
> ci.pd(matrix(c(successes, total-successes),ncol=2, byrow=TRUE))
> Can someone explain why?
> Best wishes
> Stefanie von Felten
> Stefanie von Felten, PhD
> Statistician
> Clinical Trial Unit, CTU
> University Hospital Basel
> Schanzenstrasse 55
> CH-4031 Basel
> Phone: ++41(0)61 556 54 98
>        [[alternative HTML version deleted]]
> ______________________________________________
> mailing list
> PLEASE do read the posting guide
> and provide commented, minimal, self-contained, reproducible code.

Joshua Wiley
Ph.D. Student, Health Psychology
University of California, Los Angeles

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Tue 05 Apr 2011 - 14:01:46 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 05 Apr 2011 - 14:50:27 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive