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.
trim_left() and trim_right() condition a distribution on one side of a
point, with knot saying 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() and graft_right() replace one end of a body with another
model of that end. Name the tail either as tail_excess, measured from the
knot and moved there, or as tail_absolute, on the body's own scale and
conditioned beyond the knot. knot names the side that mass sitting
exactly on the knot belongs to --- the "body" (the default), the
"tail", or "split" between them. See ?graft.
pretty_name(), and a mixture's components are listed with their weights.mix(), maximize() and minimize() 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 with is.na().
NA.Math method now applies to finite distributions.Ops methods are now available for arithmetic operations (+, -, *, and /) on a single distribution, along with the verbs shift(), multiply(), invert(), and flip().graft_left() and graft_right() are fully functional, and slice_left() and slice_right() are now also available.get_ prefix has been removed from distributional quantities. get_mean() is now mean(), etc.
get_ prefix still holds for distributional representations, like get_cdf().distribution() instead of dst(), and checked with is_distribution().This patch both fixes some problems in the previous release, as well as offering a step towards a bigger expansion.
randfn, a functional representation, to the realise() and realize() functions.probfn representation to be more specific: pmf or densityenframe suite of functions.set_ suite of functions, after making an empty distribution with dst().Additionally, there's some internal rearrangement, where the get functions call the eval functions, not vice versa.
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:
Take a look at the "Vision" vignette to get a sense of where this package is headed.