Skip to content

Releases: xoopR/distr6

distr6 1.4.4

28 Sep 09:13
Compare
Choose a tag to compare
  • Added coercions from Vector/Mixture/ProductDistribution to Mixture/ProductDistribution via as.MixtureDistribution and as.ProductDistribution
  • Bugfix in MixtureDistribution parameter set
  • Uneven vectors of WeightedDiscrete distributions are now truncated at the minimum length in the vector for pdf, cdf, quantile
  • CoreStatistics methods now give the option to use cubature::cubintegrate and all associated parameters.
  • Remove {pracma} requirement in ExoticStatistics

distr6 1.4.3

26 Aug 19:32
Compare
Choose a tag to compare
  • Bugfix in WeightedDiscrete, cdf was previously positive when below distribution support, now zero.
  • Added discrete p-norms in ExoticStatistics decorator
  • Removed suppressMoments argument in Distribution and computation of movements in constructor, improving construction speeds.
  • kurtosis and skewness 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 use exkurtosisType and skewType.
  • Empty ParameterSet now allowed

distr6 1.4.2

23 Jul 09:41
Compare
Choose a tag to compare

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 for SDistributions 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 custom Distributions as the previous method of 'guessing' was inefficient.
  • Added ParameterSetCollection for Wrappers. Same functionality as before but much more efficient.
  • Added $addDeps and $deps to ParameterSets to replace updateFunc. This allows faster and more precise control over parameter updates.
  • Added $addChecks and $checks to ParameterSets 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 in Categorical now called nCategories
  • Constructor of Categorical now requires elements to be provided as a list to elements
  • settable in ParameterSet now refers to the more intuitive flag that describes if a parameter can be set after construction
  • Added length active binding to ParameterSet to return number of parameters in the set.
  • Renamed squared2Norm in Kernels to pdfSquared2Norm and added x 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 and ShiftedLoglogistic so only the latter has a location parameter. Additionally added an analytical rand expression to ShiftedLoglogistic, and Loglogistic now implemented from package actuar
  • 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 in ParameterSet moved to private
  • Removed squared2Norm from the ExoticStatistics decorator
  • Deprecated updateFunc from ParameterSet
  • Removed .getRefParams from SDistributions and added deps

Patches

  • Bugfix in decorate function that was overwriting the decorators private field instead of appending
  • Vastly improved speed of construction of SDistribution and Kernel
  • Bugfix in $rand for Geometric distribution with trials == TRUE , previously was randomising between $[1, Inf)$ not $[0, Inf)$
  • Changed default form parameter in NegativeBinomial, 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 the mean 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 package extraDistr
  • Bug fix in Frechet $cdf
  • Analytical log and lower.tail now available for all SDistributions and imputation possible for customs with CoreStatistics
  • 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 from MultivariateNormal
  • 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 with simplify

distr6 1.3.6

16 Apr 08:55
Compare
Choose a tag to compare
  • Bugfix in decorate function that was overwriting the decorators 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

18 Mar 21:51
Compare
Choose a tag to compare
  • Added Erlang distribution
  • Fixed mistake in documentation for Weibull, thanks to Paul Northrop (@paulnorthrop) for pointing this out.
  • Fixed bug in plot preventing only quantile 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

19 Feb 19:54
Compare
Choose a tag to compare
  • 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. Removed utils dependency.
  • Added checks to assert all packages are installed when required by distributions
  • Deprecated package field in distributions, now called packages
  • packages lists all packages required to be installed for a distribution, if NULL only distr6 required
  • Abstracted SetInterval and related classes to the set6 package
  • Deprecated listSpecialSets, use set6::listSpecialSets instead
  • Removed secondary checks on update of ParameterSet , any properly defined distributions will have this covered in primary parameter, thus increasing speed.

distr6 1.3.3

29 Jan 10:57
Compare
Choose a tag to compare
  • as.data.table has been moved from a ParameterSet method to an S3 dispatch. Fixes an important bug of overloading as.data.table but may affect backwards compatibility.
  • Added distrSimulate for convenient simulation from any distribution.
  • Updated plot to be able to handle distributions without quantile or rand. Optimised runtime by preventing automatic computation of pdf and cdf.

distr6 1.3.2

13 Jan 10:01
5b31d42
Compare
Choose a tag to compare
  • Bug fix in VectorDistribution - missing which argument
  • Bug fix in Bernoulli - rand was incorrectly calling dbinom not rbinom
  • Bug fix in the mode of distributions
  • Added mode to documentation

distr6 1.3.1

26 Nov 16:57
fe64237
Compare
Choose a tag to compare

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

31 Oct 11:33
Compare
Choose a tag to compare

distr6 1.3.0

Major Updates

  • None

Minor Updates

Added Functions and Classes

  • plot function for plotting the pdf, cdf, survival, quantile, hazard, cumhazard or distr6 objects
  • lines function for superimposing distr6 plots
  • qqplot function for comparing distr6 distributions to each other or to other theoretical distributions
  • Added Extract.VectorDistribution for extracted distributions from inside a VectorDistribution, 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 the VectorDistribution 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 the VectorDistribution. The only difference that should affect backwards compatibility is that the distribution argument must now be a character and not an object. Custom (i.e. non-SDistribution) distributions should be used in conjunction with the distlist 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, and pgf to WeightedDiscrete and Empirical
  • Added support for custom distributions in VectorDistribution and for CoreStatistics 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 distribution variance 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