Releases: xoopR/distr6
Releases · xoopR/distr6
distr6 1.4.4
- Added coercions from Vector/Mixture/ProductDistribution to Mixture/ProductDistribution via
as.MixtureDistribution
andas.ProductDistribution
- Bugfix in
MixtureDistribution
parameter set - Uneven vectors of
WeightedDiscrete
distributions are now truncated at the minimum length in the vector forpdf, cdf, quantile
CoreStatistics
methods now give the option to usecubature::cubintegrate
and all associated parameters.- Remove
{pracma}
requirement inExoticStatistics
distr6 1.4.3
- Bugfix in
WeightedDiscrete
,cdf
was previously positive when below distribution support, now zero. - Added discrete p-norms in
ExoticStatistics
decorator - Removed
suppressMoments
argument inDistribution
and computation of movements in constructor, improving construction speeds. kurtosis
andskewness
type no longer included in properties. The kurtosis and skewness methods are still available as public methods, and the types are still in summary; to manually find these useexkurtosisType
andskewType
.- Empty
ParameterSet
now allowed
distr6 1.4.2
distr6 1.4.2
- Critical patch for patched Solaris: Updated precision in C++
log
distr6 1.4.1
- Critical patches for R devel:
workingSupport
is now a public method and not an active binding
distr6 1.4.0
Minor Updates
Added/Edited Functionality
- Multivariate functions in
VectorDistribution
now return arrays - Analytical
median
now available forSDistribution
s where closed form expressions are known - Kernels now implemented in
Rcpp
with analytical log-pdf expressions. Analytical lower.tail and log.p will come in future versions. - Adding plotting for bivariate distributions using
{plotly}
- Added
EmpiricalMV
for empirical multivariate distributions - All documentation now uses roxygen R6
- Distribution
type
is now required in construction customDistribution
s as the previous method of 'guessing' was inefficient. - Added
ParameterSetCollection
forWrapper
s. Same functionality as before but much more efficient. - Added
$addDeps
and$deps
toParameterSet
s to replaceupdateFunc
. This allows faster and more precise control over parameter updates. - Added
$addChecks
and$checks
toParameterSet
s to replace custom checks in distributions, and$addTrafos
and$trafos
to replace custom parameter transformations before setting. These allows clearner control over parameter setting. categories
parameter inCategorical
now callednCategories
- Constructor of
Categorical
now requires elements to be provided as alist
toelements
settable
inParameterSet
now refers to the more intuitive flag that describes if a parameter can be set after construction- Added
length
active binding toParameterSet
to return number of parameters in the set. - Renamed
squared2Norm
inKernel
s topdfSquared2Norm
and addedx
to arguments to allow for shifted norms. - Added
mixturiseVector
for mixing vector distributions
Deprecated Functions/Fields/Methods
- Individual property and trait accessors deprecated:
$support, $symmetry, $kurtosisType, $skewnessType, $valueSupport, $variateForm, $type
- Separated
Loglogistic
andShiftedLoglogistic
so only the latter has alocation
parameter. Additionally added an analyticalrand
expression toShiftedLoglogistic
, andLoglogistic
now implemented from packageactuar
- Removed deprecated classes:
ArrayDistribution
- Removed deprecated functions:
listSpecialSets
WeighedDiscrete
distribution now stores samples and probabilities as parameters.- Removed
verbose
argument from distribution constructor - Public
update
method inParameterSet
moved toprivate
- Removed
squared2Norm
from theExoticStatistics
decorator - Deprecated
updateFunc
fromParameterSet
- Removed
.getRefParams
fromSDistribution
s and addeddeps
Patches
- Bugfix in
decorate
function that was overwriting thedecorators
private field instead of appending - Vastly improved speed of construction of
SDistribution
andKernel
- Bugfix in
$rand
forGeometric
distribution withtrials == TRUE
, previously was randomising between$[1, Inf)$ not$[0, Inf)$ - Changed default
form
parameter inNegativeBinomial
, now errors if supplied argument is not in one of the four choices (previously reverted to "fbs") - Fixed bug in
MultivariateNormal
rand()
which was not adding themean
correctly - Massive bottleneck in
VectorDistribution
for same distribution type removed in d/p/q/r functions as well as non-generating function methods - Improved speed in
VectorDistribution
when only one row or column of data passed to d/p/q -
Dirichlet, DiscreteUniform, Frechet Gumbel, Pareto, Rayleigh, Triangular, Wald
now implemented from packageextraDistr
- Bug fix in
Frechet
$cdf
- Analytical
log
andlower.tail
now available for allSDistributions
and imputation possible for customs withCoreStatistics
-
NegativeBinomial
now uses Rcpp for d/p/q/r - Distributions from
stats
are now vectorised across parameters in C -
Degenerate
,ShiftedLoglogistic
now Rcpp - Removed redundant
K
parameter fromMultivariateNormal
- Bugfix in
Wald
, symmetry was incorrectly flagged as "symmetric" - Fixed bug in
TruncatedDistribution
support - previously support interval type was"[]"
instead of"(]"
. An important implication is that even if truncating at or outside of the distribution limits, the support will still be changed if the distribution was left-closed to become left-open. - Improved speed of assertions by using package
{checkmate}
- Bugfix in
listDistributions
which was overriding filtering withsimplify
distr6 1.3.6
- Bugfix in
decorate
function that was overwriting thedecorators
private field instead of appending - Two bug fixes in
MultivariateNormal$rand()
. i) the distribution mean wasn't being added to the transformation correctly; ii) the Choleskey decomposition wasn't transposed causing incorrect simulations - Added
plot.VectorDistribution
for more efficient plotting of mutiple distributions at the same time
distr6 1.3.5
- Added Erlang distribution
- Fixed mistake in documentation for
Weibull
, thanks to Paul Northrop (@paulnorthrop) for pointing this out. - Fixed bug in
plot
preventing onlyquantile
being plotted on its own - Converted descriptive public methods to active bindings. Unfortunately this will break reverse dependencies as there's no way to soft deprecate these. Affected methods are:
decorators, traits, valueSupport, variateForm, type, properties, support, symmetry, sup, inf, dmax, dmin, kurtosisType, skewnessType
distr6 1.3.4
- Bug fix in
VectorDistribution
that was causing decorators not to be added properly - Bug fix in
VectorDistribution
that was causing an error when extracting decorated wrapped distributions - Moved package
pracma
to suggests. Removedutils
dependency. - Added checks to assert all packages are installed when required by distributions
- Deprecated
package
field in distributions, now calledpackages
packages
lists all packages required to be installed for a distribution, ifNULL
only distr6 required- Abstracted SetInterval and related classes to the
set6
package - Deprecated
listSpecialSets
, useset6::listSpecialSets
instead - Removed secondary checks on
update
ofParameterSet
, any properly defined distributions will have this covered in primary parameter, thus increasing speed.
distr6 1.3.3
as.data.table
has been moved from aParameterSet
method to an S3 dispatch. Fixes an important bug of overloadingas.data.table
but may affect backwards compatibility.- Added
distrSimulate
for convenient simulation from any distribution. - Updated
plot
to be able to handle distributions withoutquantile
orrand
. Optimised runtime by preventing automatic computation ofpdf
andcdf
.
distr6 1.3.2
- Bug fix in
VectorDistribution
- missingwhich
argument - Bug fix in
Bernoulli
-rand
was incorrectly callingdbinom
notrbinom
- Bug fix in the
mode
of distributions - Added
mode
to documentation
distr6 1.3.1
Major Updates - None
Minor Updates
Added Functions and Classes - None
Deprecated Functions - None
Updated Functions - None
Patches
- Added wrapper for VectorDistribution for quick concatenation of constructed distributions,
c.Distribution
VectorDistribution
print
method more in line with base R vectors
distr6 1.3.0
distr6 1.3.0
Major Updates
- None
Minor Updates
Added Functions and Classes
plot
function for plotting thepdf, cdf, survival, quantile, hazard, cumhazard
ordistr6
objectslines
function for superimposingdistr6
plotsqqplot
function for comparingdistr6
distributions to each other or to other theoretical distributions- Added
Extract.VectorDistribution
for extracted distributions from inside aVectorDistribution
, see the big update below.
Deprecated Functions
- None
Updated Functions
decorate
now allows users to specify the Decorator as a character as well as supplying the object, this makes it simpler when using distr6 whilst unattached- Big changes (and hopefully final) to the
VectorDistribution
. Now theVectorDistribution
only constructs the internal wrapped distributions when they are extracted or when a function, such as d/p/q/r, are called. This massively reduces a bottleneck in constructing the distribution. Additionally added functions for extracting distributions from inside theVectorDistribution
. The only difference that should affect backwards compatibility is that thedistribution
argument must now be a character and not an object. Custom (i.e. non-SDistribution
) distributions should be used in conjunction with thedistlist
initializer. - Changed the lower bound of positive Sets to .Machine$double.xmin as the previous value of 1.1e-15 was too restrictive
- Added
skewness
,kurtosis
,entropy
,mgf
,cf
, andpgf
toWeightedDiscrete
andEmpirical
- Added support for custom distributions in
VectorDistribution
and forCoreStatistics
functions as well as support for only one arguments passed to d/p/q/r for fast comparisons between wrapped distributions
Patches
- Bug fix in
WeightedDiscrete
distributionvariance
calculation - Fixed bug in
Empirical
that was stopping the cdf of the first point in the distribution being evaluated - Fixed bug that allowed invalid parameter values to be set for non-reference parameters
- Updated parameter error messages to be more informative
- Improved speed and efficiency in
Distribution
constructor for wrappers