Confidence interval for binomial data in R?

Alternatively, use function propCI from the prevalence package, to get the five most commonly used binomial confidence intervals:

> library(prevalence)
> propCI(x = 520, n = 1000)
    x    n    p        method level     lower     upper
1 520 1000 0.52 agresti.coull  0.95 0.4890176 0.5508293
2 520 1000 0.52         exact  0.95 0.4885149 0.5513671
3 520 1000 0.52      jeffreys  0.95 0.4890147 0.5508698
4 520 1000 0.52          wald  0.95 0.4890351 0.5509649
5 520 1000 0.52        wilson  0.95 0.4890177 0.5508292

In this case, you have binomial distribution, so you will be calculating binomial proportion confidence interval.

In R, you can use binconf() from package Hmisc

> binconf(x=520, n=1000)
 PointEst     Lower     Upper
     0.52 0.4890177 0.5508292

Or you can calculate it yourself:

> p <- 520/1000
> p + c(-qnorm(0.975),qnorm(0.975))*sqrt((1/1000)*p*(1-p))
[1] 0.4890345 0.5509655

You can also use prop.test from package stats, or binom.test

prop.test(x, n, conf.level=0.95, correct = FALSE)

        1-sample proportions test without continuity correction

data:  x out of n, null probability 0.5
X-squared = 1.6, df = 1, p-value = 0.2059
alternative hypothesis: true p is not equal to 0.5
95 percent confidence interval:
 0.4890177 0.5508292
sample estimates:
   p 
0.52 

You may find interesting this article, where in Table 1 on page 861 are given different confidence intervals, for a single proportion, calculated using seven methods (for selected combinations of n and r). Using prop.test you can get the results found in rows 3 and 4 of the table, while binom.test returns what you see in row 5.