The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
An R package for calculating survey/study sample sizes using Cochran’s formula, with optional finite population correction.
Cochran’s formula estimates the minimum sample size needed for a survey to achieve a given margin of error at a given confidence level:
n0 = z^2 * p * (1 - p) / e^2
Where: - z = the z-score for the desired confidence
level (e.g. 1.96 for 95%) - p = estimated proportion of the
population with the attribute of interest (use 0.5 if unknown — this is
the most conservative assumption) - e = desired margin of
error (e.g. 0.05 for ±5%)
If the population size N is known and relatively small,
a finite population correction is applied:
n = n0 / (1 + (n0 - 1) / N)
All three inputs — confidence level, margin of error, and expected proportion — are fully adjustable by the user. The defaults (95% confidence, 5% margin of error, p = 0.5) are just common conventions, not fixed assumptions.
# From a local folder:
devtools::install("path/to/cochranSize")
# Or from GitHub (once pushed):
devtools::install_github("yosleycarrero2025/cochranSize")library(cochranSize)
# Large / unknown population, 95% confidence, 5% margin of error
cochran_sample_size(e = 0.05, conf.level = 0.95)
#> Cochran's Formula - Sample Size Calculation
#> --------------------------------------------
#> Confidence level: 95%
#> Margin of error (e): 0.050
#> Expected proportion (p): 0.500
#>
#> Unadjusted sample size (n0): 385
#> Population size (N): not supplied (treated as infinite)
# Known finite population of 2,000
cochran_sample_size(N = 2000, e = 0.05, conf.level = 0.95)
# Custom expected proportion, 99% confidence
cochran_sample_size(N = 500, p = 0.3, e = 0.03, conf.level = 0.99)You can also call the underlying functions directly:
n0 <- cochran_n(p = 0.5, e = 0.05, conf.level = 0.95)
cochran_n_adj(n0, N = 1000)| Function | Purpose |
|---|---|
cochran_n() |
Base (unadjusted) Cochran sample size |
cochran_n_adj() |
Applies finite population correction to n0 |
cochran_sample_size() |
Convenience wrapper combining both, with nice printing |
devtools::test()MIT
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.