[Rd] request for comments --- package "distr" --- S4 Classes for Distributions

Peter Ruckdeschel Peter.Ruckdeschel at uni-bayreuth.de
Fri Jan 30 19:11:58 MET 2004


after some discussions with Martin Maechler and Josef Leydold (WU Wien),
we have felt the need for some package that should allow for an 
approach to distributions.

Our small group at Bayreuth now has developed a package "distr" which
tries to fill this gap, implementing distributions by means of  

A mother class "Distribution" is introduced with slots for a parameter 
and -
most important - for the four constitutive methods "r",  "d", "p", and "q"
(alluding to the corresponding naming already used for these functions 
in S).

All distributions of the " base" package for which such "r",  "d", "p", 
and "q"
functions exist are implemented (essentially by wrappers of the 
origininal code)
as subclasses of  either of the two the subclasses "AbscontDistribution" or
" DiscreteDistribution".

This approach seems very appealing to us from a conceptual viewpoint:

  Just pass an object of some derived distribution class to a generic 
function as
  argument and let the dispatching mechanism decide what to do on run-time.

As an example, we may automatically generate new objects of these classes
with corresponding "r",  "d", "p", and "q"-slots for the laws of r.v.'s 
standard mathematical univariate transformations and under convolution of
independent r.v.'s.:
For "Distribution" objects X and Y expressions like 3*X+sin(exp(-Y/4+3))
have their natural interpretation as corresponding image distributions.
To get an impression of what is possible confer the demos on the cited
http-reference below.

Additionally, we also provide classes for a standardized treatment of
simulations (also under contaminations) and evaluations of statistical
procedures on such simulations.

For details we invite the interested R-user /R-developer to


-- or more directly to a detailed manual


Before announcing this package to a broader audience, however,
we would be glad to receive some feed-back from a competent audience, 
i.e. you :-)
as to comments and improvements.

In particular, the package is intended to be open for extensions for 
which we
definitely lack the know-how to do it "right", like implementation of 
distributions,  conditional distributions and formula for copula.

So anyone who likes to join us in further development is welcome.

In order to at l(e)ast send a running package, we stopped the development
for "release 1" at a certain stage, well having in mind some improvements/
extensions -- c.f. section "Odds and ends" in the manual.

Thank you already for your attention.
Peter Ruckdeschel
Matthias Kohl
Thomas Stabla
Florian Camphausen

More information about the R-devel mailing list