stratifyR: Optimal Stratification of Univariate Populations

Determines Optimum Strata Boundaries (OSB) and Optimum Sample Sizes (OSS) for univariate stratified sampling designs under Neyman allocation. The stratification variable is described by a best-fitting parametric distribution, selected automatically by AIC from a set of continuous families (normal, log-normal, gamma, Weibull, exponential, Cauchy, uniform, Pareto, triangular and right-triangular), and the optimum boundaries are obtained by minimising the Neyman objective. Version 2.0 keeps the Dynamic Programming (DP) solver of Reddy and Khan (2020), which is globally optimal for the fitted distribution, as the default. It adds two fast derivative-free solvers, a multi-start 'COBYLA' solver and a two-phase global solver that couples 'DIRECT-L' with 'BOBYQA' refinement, and an exact solver that runs dynamic programming on the sorted data and returns the partition with the smallest empirical Neyman cost. It also provides cost-constrained allocation with unequal per-stratum costs, a design-efficiency comparison (compare_designs), two- and three-dimensional and interactive visualisations, solution-quality diagnostics (a Cauchy-Schwarz optimality gap and KKT first-order residuals for the derivative-free solvers) and a self-contained 'shiny' application, while remaining backward compatible with the strata.data() and strata.distr() interface of version 1.x. The methodology follows Khan et al. (2008) <https://www150.statcan.gc.ca/n1/pub/12-001-x/2008002/article/10761-eng.pdf>, Reddy and Khan (2018) <doi:10.1111/anzs.12244> and Reddy and Khan (2020) <doi:10.1111/anzs.12301>.

Package details

AuthorKaruna G. Reddy [aut, cre] (ORCID: <https://orcid.org/0000-0002-9467-4668>), M. G. M. Khan [aut]
MaintainerKaruna G. Reddy <karuna.reddy@auckland.ac.nz>
LicenseGPL (>= 3)
Version2.0-3
URL https://github.com/karunaredz/stratifyR 
Package repositoryView on CRAN
Installation Install the latest version of this package by entering the following in R:
install.packages("stratifyR")

Try the stratifyR package in your browser

Any scripts or data that you put into this service are public.

stratifyR documentation built on Oct. 18, 2026, 1:07 a.m.