← Back to all sparks
S

surveycore

INFRA · APIS
Velocity0.0

Core Survey Analysis Infrastructure

surveycore declared its API stable with every survey design type covered.

survey-statisticsvariance-estimationreplicate-weightsapi-stabilityr-packages
Current state
surveycore is the estimation engine of a two-package survey stack, handling design objects and variance estimation while surveytidy supplies the dplyr verbs on top. The June release marks it 1.0.0 and states the API is complete and stable across Taylor series linearization, replicate weights, two-phase and non-probability designs, with means, totals, frequencies, quantiles, ratios, correlations, regression, t-tests, ANOVA and effective sample size all in place.
Where it's heading
The last months before 1.0.0 were spent making the awkward designs behave like the ordinary ones. Non-probability designs gained jackknife replicate schemes and got their bootstrap repweights routed through the replicate-weight variance estimator in survey_glm(), matching every other estimation function. The survey_collection abstraction — several surveys treated as one pseudo-data-frame — was tightened rather than extended: divergent grouping across members now errors instead of stitching a patchwork with bind_rows(), and the missing-variable argument was renamed and given a stored default on the collection itself. A documentation audit before 1.0.0 turned up six dispatch and print bugs and corrections across forty-plus files, which is the kind of thing that surfaces when an API is being frozen rather than extended.
Prediction
A declared-stable API means the next releases should be additive or corrective rather than breaking, and the pre-1.0.0 pattern of breaking renames should stop. The tight version pinning between the two packages means surveytidy releases will keep following surveycore's.

Recent moves

  1. 2mo ago

    First stable release: all four survey design types complete

    ⚡ SPARK

    The point where the package stops moving under its users. The preceding releases renamed arguments, flipped defaults and turned silent no-ops into errors; 1.0.0 declares the design types, estimators, metadata system and calibration-adjusted variance complete, which is what lets downstream code and the companion package pin against it.

    View source ↗
  2. 3mo ago

    get_effective_n() computes effective sample size

    Adds effective sample size via either the Kish weight approximation or a full design effect for a named variable, across all design types and collections — a number reviewers ask for that previously had to be computed by hand. Bundled with CRAN resubmission work including DOI references and runnable examples.

    View source ↗
  3. 3mo ago

    Collections error on divergent grouping; .on_missing renamed

    The largest pre-1.0.0 breaking pass, and mostly about making survey_collection honest. A mixed-grouping collection used to dispatch per survey and bind a patchwork of grouped and ungrouped rows together, which broke the pseudo-data-frame model it advertises; it now errors. .on_missing becomes .if_missing_var with a stored property and setters, and its previously silent no-op behaviour is fixed.

    View source ↗
  4. 4mo ago

    CRAN patch removing surveytidy from the vignette

    No code changes — the getting-started vignette drops its surveytidy dependency so R CMD check passes as-cran, an artifact of the two packages being released in lockstep.

    View source ↗