The sixteen selection methods samplyr ships, what each one requires, and
how registered methods extend the set. draw() chooses among them with
its method argument.
Details
Sixteen methods are built in, in three families: equal probability, PPS
(probability proportional to size, all requiring mos), and balanced.
| Method | Replacement | Size | mos | Other input | Notes |
srswor | Without | Fixed | - | - | The default. Standard SRS |
srswr | With | Fixed | - | - | Allows duplicates |
systematic | Without | Fixed | - | - | Periodic selection |
bernoulli | Without | Random | - | prn | Independent trial per unit |
pps_systematic | Without | Fixed | Required | - | Order-sensitive, exact first-order probabilities |
pps_brewer | Without | Fixed | Required | - | Exact first-order, approximate joint probabilities |
pps_cps | Without | Fixed | Required | - | Highest entropy, exact joint probabilities |
pps_sampford | Without | Fixed | Required | - | Exact Sampford joint probabilities |
pps_poisson | Without | Random | Required | prn | PPS analog of Bernoulli |
pps_sps | Without | Fixed | Required | prn | Sequential Poisson with approximate probability targets |
pps_pareto | Without | Fixed | Required | prn | Pareto with approximate probability targets |
pps_multinomial | With | Fixed | Required | - | Any hit count, Hansen-Hurwitz |
pps_chromy | Min. repl. | Fixed | Required | - | As SAS PPS_SEQ |
cube | Without | Fixed | Optional | aux optional | Deville & Tillé 2004 |
lpm2 | Without | Fixed | Optional | spread required | Spatial spread |
scps | Without | Fixed | Optional | spread required | Spatial spread |
Every method takes either n or frac, except pps_cps, which requires
n. For fixed-size methods, frac follows the round parameter (ceiling
by default). Bernoulli and PPS Poisson use an unrounded expected target.
The prn column marks the methods that accept permanent random
numbers for coordination. It is always optional.
"Min. repl." is probability minimum replacement: pps_chromy draws a unit
either \(\lfloor E \rfloor\) or \(\lceil E \rceil\)
times, where \(E\) is its expected number of hits, so a unit is never hit
more often than its size warrants.
Selection and inference
All methods above can draw samples when their input requirements are met.
Selection support and variance support are separate contracts. This table
is a quick comparison. as_svydesign() and as_svrepdesign() describe the
supported stage/phase compositions and sample-specific checks.
| Method or family | First-order quantity | Joint information | Analysis route |
srswor | Exact inclusion probabilities | SRS formulas (not exposed by the joint helper) | SRS with FPC, standard replicates or RWYB |
srswr, pps_multinomial | Exact expected hit counts | Exact joint hits for PPS | WR draw occurrences with standard replicates or RWYB |
systematic, pps_systematic | Exact inclusion probabilities | Exact order-specific matrix for PPS (zero pairs may occur) | SRS/Brewer or generic replicate approximation under the systematic policy |
bernoulli, pps_poisson | Exact independent probabilities | Exact Poisson matrix for PPS | Analytic single-stage Poisson variance, or RWYB for supported clustered/multistage designs |
pps_brewer, pps_cps, pps_sampford | Exact inclusion probabilities | Approximate for Brewer, exact for CPS/Sampford | Brewer by default, an explicit joint matrix, or PPS-compatible replicates (including approximate RWYB) |
pps_sps, pps_pareto | Approximate targets | High-entropy approximation using targets | Brewer or generic PPS-compatible replicates (no built-in RWYB mapping) |
pps_chromy | Exact expected hit counts | Monte Carlo joint hits | WR or generic replicate approximation to PMR (no built-in RWYB mapping) |
Unconstrained cube | Exact inclusion probabilities under the method contract | High-entropy approximation | Approximate linearization or generic replicates (no built-in RWYB mapping) |
Bounded cube, lpm2, scps | Exact inclusion probabilities under the method contract | Refused | Generic subbootstrap or mrbbootstrap only (linearization refused) |
| Custom methods | Declared exact or approximate quality | Registered joint support | Depends on the variance-family declaration and adapter checks |
Joint information here refers to joint_expectation(), which exposes
PPS/balanced-family quantities. Ordinary SRS, WR and independent Bernoulli
formulas still apply. A stage's joint matrix is not automatically a matrix
for the final units of a multistage design. Exact first-order probabilities
do not establish exact variance or confidence-interval coverage.
RWYB means the explicit type = "rwyb" option with svrep.
type = "auto" does not select it. PPS WOR remains approximate. Generic
replicates do not recreate ordering, balancing, spatial spreading or hard
constraints. Poisson sampling is refused by generic replicate methods.
See as_svrepdesign() for missing-parent and singleton restrictions, and
as_svydesign() for Poisson and two-phase export limits.
SPS, Pareto and custom approximate targets require
allow_approximate = TRUE in exante_probabilities() and
exante_overlaps(). Estimates using these targets need not be
design-unbiased. Unknown probabilities are refused. Probability and
variance declarations by a custom-method author are contracts, not proofs.
Fixed vs random sample size
Where the table says Fixed, n is the realized sample size. Where it
says Random, n is the expected size: it is converted to
frac = n / N (with N the stratum or frame size) and the realized count
varies around it.
For pps_poisson, the raw inclusion probabilities are computed as
\(\pi_i = f \cdot x_i / \bar{x}\) where
\(f\) is frac and \(x_i\) is the MOS value. Any \(\pi_i > 1\)
is clipped to 1, so the expected sample size
\(E[n] = \sum \min(\pi_i, 1)\) can be less
than \(f \cdot N\) when large units dominate the MOS
distribution. Use certainty_size or certainty_prop to handle these
dominant units explicitly.
Declaring certainty units does more than remove them. The remainder is
re-resolved over the reduced target and the reduced MOS total, so the
surviving chances can rise. The remaining expected take equals the reduced target
only if no remaining probability needs clipping. See draw() for the
certainty-adjusted n and frac contract.
This is not silent. execute() warns with class
samplyr_warning_poisson_shortfall once per stage when a pool's resolved
expectation falls more than 5% below what that pool could reach, naming the
pools affected and how many chances were clipped. The comparison is against
the reachable target rather than the request: a pool asked for more units
than it holds has already had its target reduced by the population, which
samplyr_warning_nominal_cap reports, and only the further reduction that
saturation caused is charged here. A design reduced both ways gets both
warnings.
The shortfall is a gap between the nominal and realized design, not a bias. Horvitz-Thompson estimates from a saturated Poisson design remain unbiased, because the weights are the reciprocals of the resolved probabilities.
When an allocation method is set in stratify_by() (equal,
proportional, neyman, optimal, power), specify total sample size via n.
Combining alloc with frac is not supported.
References
srswor, srswr, systematic, bernoulli, pps_systematic,
pps_multinomial:
Cochran, W.G. (1977). Sampling Techniques, 3rd ed. Wiley.
pps_brewer:
Brewer, K.R.W. (1975). A simple procedure for sampling PPS WOR.
Australian Journal of Statistics, 17(3), 166-172.
pps_cps:
Hájek, J. (1964). Asymptotic theory of rejective sampling with varying
probabilities from a finite population.
Annals of Mathematical Statistics, 35(4), 1491-1523.
Chen, X.-H., Dempster, A.P. and Liu, J.S. (1994). Weighted finite population sampling to maximize entropy. Biometrika, 81(3), 457-469.
pps_sampford:
Sampford, M.R. (1967). On sampling without replacement with unequal
probabilities of selection. Biometrika, 54(3/4), 499-513.
pps_poisson:
Tillé, Y. (2006). Sampling Algorithms. Springer.
pps_sps:
Ohlsson, E. (1998). Sequential Poisson sampling.
Journal of Official Statistics, 14(2), 149-162.
pps_pareto:
Rosén, B. (1997). Asymptotic theory for order sampling.
Journal of Statistical Planning and Inference, 62(2), 135-158.
pps_chromy:
Chromy, J.R. (1979). Sequential sample selection methods.
Proceedings of the Survey Research Methods Section, ASA, 401-406.
balanced:
Deville, J.-C. and Tillé, Y. (2004). Efficient balanced
sampling: the cube method. Biometrika, 91(4), 893-912.
Chauvet, G. (2009). Stratified balanced sampling. Survey Methodology, 35(1), 115-119.
See also
draw() to set a method on a stage,
joint_expectation() for which methods yield exact second-order
quantities, as_svydesign() for how each family is exported to
survey
Other design specification:
add_stage(),
cluster_by(),
draw(),
sampling_design(),
stratify_by()