← Back to all sparks
D

distributions3

ANALYTICS
Velocity2.5

Probability Distributions as S3 Objects

distributions3 changes hands to Achim Zeileis, and a moment calculation bug goes with it.

r-packageprobability-distributionsstatistical-modellingmaintainershipprodist
Current state
An R package giving probability distributions a consistent object interface — d/p/q/r functions, moments, and prodist() methods that extract a fitted distribution from a regression object. Releases are infrequent, roughly one a year, and the last one is largely administrative: Achim Zeileis takes over maintenance from Alex Hayes, with all URLs and documentation updated to match, alongside a fix to incorrect moment calculations reported by a user.
Where it's heading
The package's growth has come in two modes. Early releases absorbed whole families of distributions from outside contributors — the extreme-value set, Erlang, later the Poisson binomial — while later ones tightened the interface itself with is_discrete() and is_continuous() generics and elementwise type-safety when applying a distribution vector to a numeric vector. The handover is the notable event in the current window: maintenance moves to the author of the surrounding statistical ecosystem this package already integrates with through prodist() and countreg, which suggests the interface work will continue over the distribution-collection work.
Prediction
Expect closer alignment with Zeileis's own packages, with prodist() coverage widening to more model classes; the entries here do not indicate whether new distribution families remain on the agenda.

Recent moves

  1. 24d ago

    Maintenance moves to Achim Zeileis; moment calculations corrected

    Achim Zeileis takes over as maintainer from Alex Hayes, with links and documentation updated throughout, and a user-reported error in moment calculations is fixed. For an infrequently-released package that other statistical tooling depends on through prodist(), the change of hands is the more consequential half.

    View source ↗
  2. 10mo ago

    ggplot2 compatibility for the plotting functions

    Updates the plotting functions to work with a new ggplot2 version. Downstream compatibility maintenance with no change to the distribution interface.

    View source ↗
  3. 1y ago

    Poisson binomial distribution, with a normal-approximation fallback

    Adds PoissonBinomial() for n independent Bernoulli trials with differing success probabilities, delegating to the efficient PoissonBinomial package when installed and warning when it falls back to a normal approximation. The prodist() methods also start distinguishing classic pscl objects from the newer countreg ones — an early sign of the ecosystem alignment the maintainer handover later formalises.

    View source ↗
  4. 3y ago

    is_discrete and is_continuous generics, plus elementwise type-safety

    Adds generics that answer whether a distribution is discrete or continuous across its entire support, returning FALSE from both for mixed cases. The elementwise argument in apply_dpqr() resolves a genuine ambiguity: applying a length-n vector of distributions to a length-n numeric argument now has an explicit answer rather than a guessed one. Interface work rather than new distributions.

    View source ↗
  5. 4y ago

    Extreme-value family, Erlang, and a plotting generic

    Community contributions add the GEV, Frechet, Gumbel, reversed Weibull and generalised Pareto distributions along with Erlang, plus a plotting generic for univariate distributions. Representative of the package's early phase, when growth came from outside contributors filling in distribution families.

    View source ↗