distplyr 0.3.0
Every verb is now built on distionary’s support objects, so a transformed distribution says where its probability lives: support(), its atoms, and discrete or mixed moments all work on the result. Verbs no longer state a range or .vtype; both are read from the support. invert(), for one, derives the support of 1 / X for a distribution spanning zero by mapping each side of it separately. Requires distionary 0.2.0.
New verbs
trim_left()andtrim_right()condition a distribution on one side of a point, withknotsaying what becomes of the mass sitting exactly on it:"keep"it (the default, since a point is not to one side of itself),"discard"it with the trimmed side, or"split"it. See?trim.graft_left()andgraft_right()replace one end of abodywith another model of that end. Name the tail either astail_excess, measured from the knot and moved there, or astail_absolute, on the body’s own scale and conditioned beyond the knot.knotnames the side that mass sitting exactly on the knot belongs to — the"body"(the default), the"tail", or"split"between them. See?graft.
Other changes
- Distributions built by a verb print as a summary rather than unfolding every distribution they were built from: each is named with
pretty_name(), and a mixture’s components are listed with their weights.
Bug fixes
mix(),maximize()andminimize()no longer treat different components as the same one. Results may change for transformed distributions.Verbs no longer discard a distribution that merely carries the name
"Null". Null-ness is read withis.na().
distplyr 0.1.5
- Updates to package infrastructure in the process of migrating to a new GitHub Organization.
distplyr 0.1.3
- Default evaluation methods, and base distributional forms, have been moved to a new package, distionary. distplyr focusses on manipulation verbs only.
-
Mathmethod now applies to finite distributions. -
Opsmethods are now available for arithmetic operations (+,-,*, and/) on a single distribution, along with the verbsshift(),multiply(),invert(), andflip(). -
graft_left()andgraft_right()are fully functional, andslice_left()andslice_right()are now also available.
distplyr 0.1.2
- If you have the tibble package installed, distplyr will now output tibbles wherever data frames were previously output.
Breaking changes
- The
get_prefix has been removed from distributional quantities.get_mean()is nowmean(), etc.- For now, the
get_prefix still holds for distributional representations, likeget_cdf().
- For now, the
- Make your own distribution object with
distribution()instead ofdst(), and checked withis_distribution().
distplyr 0.1.1
This patch both fixes some problems in the previous release, as well as offering a step towards a bigger expansion.
- Some change in the functional representations:
- Added the
enframesuite of functions. - Implement the beginnings of being able to specify your own distribution, with the
set_suite of functions, after making an empty distribution withdst().
Additionally, there’s some internal rearrangement, where the get functions call the eval functions, not vice versa.
distplyr 0.1.0
The first version of distplyr is now available! Its functionality is rather limited at the moment, but is still useful, especially for its capability to handle a discrete component of a distribution. Here are the main features:
- Base distributions include step distributions, Gaussian, Uniform, and generalized Pareto.
- Operations include grafting (right) and mixing
- Distribution properties included are moment-related quantities, and extreme value index.
- Distribution representations are mostly comprehensive, perhaps only missing mean excess function and moment generating function.
Take a look at the “Vision” vignette to get a sense of where this package is headed.
