← Back to all sparks
T

TidyDensity

ANALYTICS
Velocity0.0

R package TidyDensity by spsanderson — release notes from GitHub.

A distribution catalogue that grows by one family at a time, and rarely breaks anything.

statistical-distributionsrandom-generationparameter-estimationtidyverser-package
Current state
TidyDensity generates tidy-format random data from statistical distributions, with parameter estimation, AIC calculation, summary tables and automatic plotting for each one. Its releases follow a fixed template — breaking changes, new features, minor fixes — and the breaking section is usually empty. Growth comes distribution by distribution: Bernoulli, Burr, triangular, chi-square, zero-truncated negative binomial and others each arrive with a matching set of param_estimate, aic and stats_tbl helpers.
Where it's heading
The package is filling out a matrix rather than changing shape — every new distribution gets the same four or five companion functions, so the surface grows predictably and the design does not. What variation exists comes from utilities that work across distributions: MCMC sampling, bootstrap helpers, time series conversion, distribution comparison. The two genuine breaking changes in this window were both internal reworks, moving generation onto data.table and rewriting quantile normalization for speed.
Prediction
The established pattern of adding a distribution with its full helper set is the most likely continuation. Recent releases have been small, suggesting the catalogue is approaching the distributions its author considers worth covering.

Recent moves

  1. 11mo ago

    quantile_normalize rewritten, changing its output

    One of the few releases with a non-empty breaking section: quantile_normalize() was redesigned around a faster, more memory-efficient algorithm whose results differ slightly from before. The mixture density function also gained add, subtract, stack, multiply and divide as combination modes, widening what can be built from component distributions.

    View source ↗
  2. 1y ago

    Documentation corrections for two distribution functions

    Two documentation fixes and nothing else, with the breaking and new feature sections both explicitly empty. The template makes the emptiness legible at a glance.

    View source ↗
  3. 2y ago

    Zero-truncated distributions and AIC helpers added in bulk

    The largest release in this window by volume, extending the catalogue with zero-truncated variants and filling in AIC functions across existing distributions. Characteristic of the package's growth model: each addition brings its estimate, AIC and summary table companions rather than standing alone.

    View source ↗
  4. 2y ago

    MCMC sampling and quantile normalization join the utilities

    The cross-distribution utilities are where this package varies, and this release adds two — MCMC sampling with a diagnostic plot, and quantile normalization, which was later rewritten for efficiency. The chi-square parameter estimator follows the standard per-distribution pattern.

    View source ↗
  5. 2y ago

    Generation moves to data.table; native pipe raises the R floor

    The rare release where the breaking section has content. Moving the tidy_ distribution functions onto data.table forced an explicit .return_tibbl argument, and adopting the native pipe raised the minimum R version to 4.1.0 — infrastructure decisions that shaped everything generated since.

    View source ↗
  6. 2y ago

    Distributions convertible to time series objects

    convert_to_ts() bridges generated distributions into ts or tibble time series form, in wide or long layout. A connector to a neighbouring part of the author's package family rather than another entry in the distribution catalogue.

    View source ↗