Extensions of Package 'distr'

Extends package 'distr' by functionals, distances, and conditional distributions.


News

######################################################################

News: to package distrEx

######################################################################

(first two numbers of package versions do not necessarily reflect package-individual development, but rather are chosen for the distrXXX family as a whole in order to ease updating "depends" information)

############## v 2.7 ##############

user-visible CHANGES:

  • triggered by mail from Peng Rui, [email protected], implemented Hellinger and TotalVariation distance for DiscreteMVDistributions
  • alias q.l(X) for q(X) to provide functionality in RStudio / Jupyter IRKernel
  • fixed some URLs in https style

under the hood:

  • added more detailed author information in DESCRIPTION
  • registered native code for GL integration
  • recreated sysdata.rda file with new tables .AW.5000, .AW.10000, .AW.50000, .AW.100000
  • changed defaults in distrExIntegrate / GLIntegrateOrder (with finer grids)

bug fixes:

  • fixed a bug in CvMDist

############## v 2.6 ##############

user-visible CHANGES:

  • changed default integration measure from e2 to e1 in CvMdist
  • title changed to title style / capitalization
  • added generating function "EmpiricalMVDistribution" for computing empirical distribution of multivariate data
  • removed N. Horbenko from authors in DESCRIPTION; her contribution was moved to pkg RobExtremes

under the hood:

  • use particular S3-class "moved2RobExtremeClass" for former package internal constants EULERMASCHERONICONSTANT and APERYCONSTANT
  • enhanced imports in DESCRIPTION by explicating second order imports

############## v 2.5 ##############

user-visible CHANGES:

GENERAL ENHANCEMENTS:

  • cleaned DESCRIPTION and NAMESPACE file as to Imports/Depends

under the hood:

  • use some newly exmported routines which had been internal so far to avoid calls by :::
  • added .Rbuildignore

BUGFIXES:

############## v 2.4 ##############

user-visible CHANGES:

  • moved functionality for extreme value distribution to package RobExtremes -> concerns distributions Gumbel, GEVD, GPareto, and Pareto
  • moved functional and estimator kMAD to package RobExtremes

under the hood:

  • added DESCRIPTION tag "ByteCompile" to all our packages
  • updating maintainer email address and URL.
  • added argument no.readonly = TRUE to assignments of form opar <- par()
  • deleted no longer needed chm folders

BUGFIXES:

  • corrected bug in var() (with argument fun in case of symmetry)

############## v 2.3 ##############

user-visible CHANGES:

  • new default method for CvMDist (i.e. for mu=e2) instead of numerical integration uses explicit terms => by factor 30 faster!

  • Nataliya produced a C-version of kMad; integrated to distrEx now

  • Generalized Extreme Value Distribution is ported to distrEx

  • Gumbel in distrEx has different parametrization as GEV with shape = 0

under the hood:

  • DESCRIPTION files and package-help files gain a tag SVNRevision to be filled by get[All]RevNr.R from utils in distr

BUGFIXES:

  • found a bug in setMethod("var", signature(x = "UnivariateDistribution")) for spherical symmetric distributions

  • Small bug in Expectation.R was found

  • Gumbel in distrEx has different parametrization as GEV with shape = 0

  • fixed several buglets in GEV

    • small error for xi = 0 in Functionals.R and Expecation.R
    • completed unfinished documentation

############## v 2.2 ##############

user-visible CHANGES:

  • enhanced E() methods

    • expectation gains ... argument to pass on accuracy arguments
  • enhanced m1df(),m2df() methods

    • m1df, m2df gain ... argument to be able to pass on accuracy arguments to E();
    • m1df, m2df can now digest cond, fun arguments...
    • particular m1df versions (for Binom, Norm, Chisq, Exp, Pois) are used in E(object, [fun, cond, ] low=.., upp=.., ...) calls
  • GPareto

    • implemented GPareto class (Nataliya) [including functionals)
    • allow for negative shape parameter in generalized Pareto ...

GENERAL ENHANCEMENTS:

  • added tests/Examples folder with file distrEx-Ex.Rout.save to have some automatic testing
  • added field "Encoding: latin1" to all DESCRIPTION files in order to avoid problems with e.g. Windows locale when svn replaces $LastChangedDate
  • added TOBEDONE (sic!) files for each package (by accident also in trunc; these are empty so far)

INTERNALLY:

  • introduced helper function .getIntbounds
  • reorganized help for PrognCondDistribution
  • functionals in distrEx now make use of this symmetry slot ...
  • catch errors thrown by qgumbel and qpareto1 when args are not in (0,1) --> corresp. q-methods now consistently return NaN.
  • m1df,m2df: *particular methods for m2df for AbscontDistribution, DiscreteDistribution are no longer necessary. *new/revised methods for m1df, m2df for AfflinDistribution
  • enhanced/corrected methods for Kolmogorov distance
    • when one operand is DiscreteDistribution
    • yet another (speed) improvement --- important for MDE with KolmogorovDist: Kolmogorov-dist e1 (discrete) : e2 (ac) is
      x <- support(e1) res <- max(p(e1)(x)-p(e2)(x),p(e2)(x)-p.l(e1)(x))
  • merged Expectation_LebDec.R into Expectation.R according to proposal by Kurt Hornik (different Collation order caused problem in English locale)
  • new expectation methods for UnivarMixingDistribution
  • included new methods for E():
    • for GPareto as well as for Gammad -> increase the precision for the numerical calculation of certain integrals; in particular, integrals involving "log" as integrand.
    • Expectation for GPareto now has IQR.fac accuracy set to max(1e4,getdistrExOption("IQR.fac") to enhance accuracy for integration;

BUGFIXES:

  • forgot to commit branches/distr-2.2/pkg/distrEx/man/distrExConstants.Rd
  • forgot some source files (GPD)
  • fixed a buglet in m2df method for LatticeDistribution (a catch for existing fun argument was missing).
  • forgot to set corresponding distrExoptions()-default values for accuracy
    for m1df, m2df
  • fixed a bug in E-method for AbscontDistribution, function, cond
  • fix for the bug in distrEx: m2df now only uses mc <- match.call() instead of mc <- match.call(call = sys.call(sys.parent(1))) (do not completely understand why: there is method dispatch, though, as in plot(), where sys.call(sys.parent(1)) is needed, but here match.call() does it... )
  • fixed some --hard-to-detect/localize-- bug induced with lazy evaluation: Data-Examples in scripts to ROptEst threw errors: reason --- need an explicit assignment im ClippedMomemts.R (distrEx) mc$object <- object to force evaluation of object (otherwise only transmitted as name...)
  • R CMD check threw an error for distrEx .Rd file distrExConstants.Rd : probably because of a multi-line \deqn{}{} expression modified
  • corrected some bug with match.call() in Var()...
  • forgot to write the expectations of different components into different coordinates
  • Definition for KolmogorovDist for numeric, UnivariateDistribution by means of ks.test was only oK for AbscontDistributions; changed to KolmogorovDist(DiscreteDistribution(e1),e2)
  • fixed errors in expectation methods (with upper & lower bounds) as well as in m1df, m2df methods

############## v 2.1 ##############

  • Rd-style:

    • several buglets detected with the fuzzier checking mechanism cf [Rd] More intensive checking of R help files, Prof Brian Ripley, 09.01.2009 10:25) [Rd] Warning: missing text for item ... in \describe? , Prof Brian Ripley,
  • FUNCTIONALS --Expectation +expectation gains (optional) low and upp arguments; these can be passed through to var, skewness, kurtosis +expectation gains explicit arguments to set accuracy locally; +also both quantile and scale based methods is used to determine a sensible integration range in expectation --Quantiles: -median and IQR are now defined for UnivariateCondDistribution --general bug fixes: -checked and fixed functionals (stirred up by mail by Jay Kerns, [email protected]) -bug corrected in E for Hyper (thanks to Jay G. Kerns!) ... -corrected small bug in mad, added new implementation for skewness and kurtosis for signature "ANY". -corrected small bug in skewness for AffLinDistribution.

  • DISTRIBUTIONS

    • gains distribution Pareto; ported from pkg actuar by Nataliya Horbenko +new slots d,p,q for Gumbel distribution catching errors, vectorization and lower.tail, log[.p] argument ...
    • new methods for Gumbel distribution ...
  • DISTANCES

    • introduced distance OAsymTotalVarDist (minimal asymmetric total variation distance)
    • introduced new asymmetric total variation distance AsymTotalVarDist
    • TotalVarDist and HellingerDist gain extra arguments to better control the integration range and exactness
  • NEW FUNCTIONALS

    • m1df for AffLinDistribution
    • Expectation, var, IQR, median, skewness, kurtosis available for Pareto

+... and: had forgotten to document the plot-methods in distrExsome typo's in integration range selection

############## v 2.0.3 ##############

  • under the hood:

    • enhanced plotting (correct dispatch; opening of new device is controlled by option("newDevice") )
    • after JMC's changes: +gone through setIs relations to ensure "correct" inheritance in Expectation, all the distance functionals (ContaminationSize, HellingerDist,...), m1df,m2df
    • buglet for AffLinDistribution in Skewness
    • corrected small bug in mad, added new implementation for skewness and kurtosis for signature "ANY"
  • moved license to LGPL-3

  • new methods for Gumbel distribution ...

############## v 2.0 ##############

  • moved teaching illustrations to new package 'distrTeach'

  • E methods for class[es] '[AffLin]UnivarLebDecDistribution'

  • distance methods for class '[AffLin]UnivarLebDecDistribution'

  • CvM distance is implemented

############## v 1.9 ##############

  • 'distrEx' now behaves exactly the same as the other members of the distrXXX family as to 'distrExOptions()', 'getdistrExOption()'

  • substantial contributions by Jay Kerns, [email protected]:

    • skewness & kurtosis are now available as functionals
    • E(), var() return NA in case of T-distribution if not defined
  • disclaimer for possible collisions with other definitions of kurtosis and skewness

  • added note on masking on startup as well as disrExMASK()

  • enhanced 'illustrateCLT'

    • plot includes a title
    • for 'DiscreteDistributions' in the "d"-panel, the support is thinned out if length too long
    • Komogoroff-distance is printed out
    • 'illustrateCLT' no longer is a generic function but a regular function
    • the plotting feature of 'illustrateCLT' is extracted and has become a generic function 'plotCLT' (now with title and the summands mentioned in the header)
    • there is a TclTk-based demo now (therefore TclTk is a suggested package now) replaced recursive summation in illustrate-CLT method by 'convpow'
  • new demo 'illustLLN' and function 'illustrateLLN'

    • preset strings similar to those of plot-methods from package 'distr'
  • moved some parts from package 'distrEx' to package 'distr'

    • generating function 'DiscreteDistribution'
    • univariate methods of 'liesInSupport()'
    • classes 'DistrList' and 'UnivariateDistrList'
    • generating functions EuclideanSpace() ,Reals(), Naturals()
  • mentioned in package-help: startup messages may now also be suppressed by suppressPackageStartupMessages() (from package 'base')

  • adapted demo() to comply with change in return value of require() from R-2.5.0patched on

  • formals for slots p,q,d as in package stats to enhance accuracy

    • p(X)(q, [cond,] lower.tail = TRUE, log.p = FALSE)
    • q(X)(p, [cond,] lower.tail = TRUE, log.p = FALSE)
    • d(X)(x, [cond,] log = FALSE)

    used wherever possible; but backwards compatibility: always checked whether lowert.tail / log / log.p are formals

  • some exact formulas for mad, median, and IQR

  • new method for IQR for DiscreteDistributions taking care that between upper and lower quartile there is 50% probability

  • E-, var-, IQR-, mad-, median-, kurtosis-, skewness- methods for new class union AffLinDistribution

############## v 1.8 ##############

  • changed to version counting of the remaining distrXXX packages
  • corrected minor error in E() and var() method for Nbinom (thanks to Spencer Graves for drawing our attention to this)
  • fixed error in definition of Hellinger distance (HellingerDist)

############## v 0.4-4 ##############

  • dim() method for DiscreteMVDistribution
  • var() + E() overloaded for DExp-Class
  • sd()-method overwritten for Norm-Class to allow function / condition argument

############## v 0.4-3 ##############

  • Implementation of functionals: o evaluation of exact expressions of E (expectation functional) for most specific distributions from stats package o var, sd methods for UnivariateDistributions; these include calls like

    N <- Norm()

    var(N,function(t)abs(t)^(1/2)) # calculates Var[|N|^(1/2)]

    also (factorized) conditional variance is available o evaluation of exact expressions of var for most specific distributions from stats package o median, IQR, mad methods for UnivariateDistributions o for var, sd, median, IQR, mad: all functionality/arguments of stats methods is/are preserved and only if first argument / argument x is of class UnivariateDistribution (or descendant) a different method is applied

  • Internationalization: use of gettext, gettextf in output

  • C-interface .GLaw() to replace respective R-Code in distrExintegrate.R

  • PrognCondDistribution, PrognCondition are included as classes and generating functions (incl. show-method);

  • Inclusion of demos (see above)

    • PrognCondDistribution, PrognCondition are included as classes and generating functions (incl. show-method);
    • illustrateCLT is included and rd-file is done

############## v 0.4-2 ##############

  • ContaminationSize, HellingerDist, KolmogorovDist, TotalVarDist now return a list which consists of the corresponding distributions and their distance
  • minor changes in m1df and m2df to increase speed of computation
  • minor changes in DiscreteMVDistribution to increase speed of computation
  • introduction of a new parameter useApply in methods for function E with default value TRUE

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("distrEx")

2.8.0 by Matthias Kohl, a year ago


http://distr.r-forge.r-project.org/


Browse source code at https://github.com/cran/distrEx


Authors: Matthias Kohl [cre, cph] , Peter Ruckdeschel [aut, cph]


Documentation:   PDF Manual  


Task views: Probability Distributions


LGPL-3 license


Imports startupmsg, utils, stats

Depends on methods, distr

Suggests tcltk


Imported by GJRM, ROptRegTS, RobExtremes, distrDoc, nanop.

Depended on by ROptEst, ROptEstOld, RandVar, RobAStBase, distrEllipse, distrMod, distrTeach.

Suggested by FinTS, RcmdrPlugin.IPSUR, distr, distrRmetrics, distrSim, distrTEst.


See at CRAN