← Back to all sparks
S

sdcHierarchies

INFRA · APIS
Velocity0.0

Create and (Interactively) Modify Nested Hierarchies

Hierarchy tooling for statistical disclosure control keeps trading R for Rcpp.

disclosure-controlhierarchiesrcppperformanceofficial-statistics
Current state
sdcHierarchies builds and manipulates the nested code hierarchies that statistical disclosure control depends on. Its release history is dominated by one theme: moving tree work into C++ and reporting the speedup. The March 2026 release adds hier_create_ids() for mapping microdata onto hierarchy levels by integer index, and extends hier_grid() with contributing-cell aggregation.
Where it's heading
Four of the last five releases are performance releases, and each names the specific function that got faster: hier_convert(), then hier_codes(), then the core tree traversal itself. The direction is toward handling hierarchies large enough that the R-level implementation stopped being viable, with the new integer-indexed ID mapping pointing the same way. Feature work rides along with the optimisation rather than driving it.
Prediction
Expect the remaining R-level tree operations to follow hier_convert() and hier_codes() into Rcpp, and the new hier_grid() arguments to accumulate defaults as the aggregation path gets exercised.

Recent moves

  1. 5mo ago

    hier_create_ids() maps microdata to hierarchy levels by integer index

    The largest release in the feed, and it keeps the package's pattern of pairing one new utility with a round of C++ work. hier_create_ids() indexes microdata onto hierarchical grid levels, hier_grid() gains contributing-cell aggregation and better pruning of redundant parent nodes, and core tree traversal moves further into Rcpp with three new internal helpers.

    View source ↗
  2. 1y ago

    hier_codes() rewritten for speed

    A single-line release note claiming large performance gains in hier_codes(), the second function in this feed to get that treatment after hier_convert(). It was tagged within a minute of the 0.21.0 release, so the two are best read as one backfilled push rather than separate development.

    View source ↗
  3. 1y ago

    hier_import() gains keep_order to preserve node order

    A small but real control: imported hierarchies can now retain their original node ordering instead of being normalised. Stamped 55 seconds before 0.22.0, which means the feed's timestamps record when the tags were pushed, not when the versions were developed.

    View source ↗
  4. 3y ago

    hier_convert() rewritten for speed

    The first of the named performance releases, and the start of the pattern that runs through the rest of the feed. As with its successors the note claims a large speedup without quantifying it.

    View source ↗
  5. 4y ago

    Bogus-code computation fixed

    A one-line bug fix in the computation of bogus codes, the placeholder nodes used to pad incomplete hierarchies. Handling of those structures gets revisited properly in 0.23.0.

    View source ↗