Package: stratifyR
Type: Package
Title: Optimal Stratification of Univariate Populations
Version: 2.0-2
Date: 2026-10-14
Authors@R: c(
    person("Karuna G.", "Reddy",
           email   = "karuna.reddy@auckland.ac.nz",
           role    = c("aut", "cre"),
           comment = c(ORCID = "0000-0002-9467-4668")),
    person("M. G. M.", "Khan",
           email  = "mgm.khan@usp.ac.fj",
           role   = "aut")
  )
Description: 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>.
License: GPL (>= 3)
URL: https://github.com/karunaredz/stratifyR
BugReports: https://github.com/karunaredz/stratifyR/issues
Encoding: UTF-8
LazyData: true
Depends: R (>= 4.1.0)
Imports: stats, utils, graphics, grDevices, MASS, fitdistrplus (>=
        1.1.0), nloptr (>= 2.0.0), actuar, mc2d
Suggests: shiny, bslib, DT, readxl, stratification, plotly (>= 4.10.0),
        testthat (>= 3.0.0), knitr, rmarkdown, ggplot2, crayon,
        kableExtra, triangle
VignetteBuilder: knitr
RoxygenNote: 7.3.1
NeedsCompilation: no
Packaged: 2026-10-15 06:12:09 UTC; root
Author: Karuna G. Reddy [aut, cre] (ORCID:
        <https://orcid.org/0000-0002-9467-4668>), M. G. M. Khan [aut]
Maintainer: Karuna G. Reddy <karuna.reddy@auckland.ac.nz>
Repository: https://cran.r-universe.dev
Date/Publication: 2026-10-14 23:10:02 UTC
RemoteUrl: https://github.com/cran/stratifyR
RemoteRef: HEAD
RemoteSha: 3bd48ca9e6afb26018af2f47c099510daaab3ad8
