[Picture: logo]R-Package "distr" R-Logo

Version: 2.8.0
Release Date: 2019-03-12
Authors: Peter Ruckdeschel, Matthias Kohl, Thomas Stabla, Florian Camphausen
Required R-Version: Dependencies: requires package "startupmsg" by Peter Ruckdeschel also available from CRAN;

What is "distr" meant for?

The aim of package "distr" is to provide a conceptual treatment of random variables (r.v.'s) by means of S4--classes. A mother class "Distribution" is introduced with slots for a parameter and - most important - for the four constitutive methods "r", "d", "p", and "q" for simulation, respectively for evaluation of density / c.d.f. and quantile function of the corresponding distribution. All distributions of the "base" package for which corresponding "r", "d", "p", and "q"- <distr.name> functions exist (like normal, Poisson, etc.) are implemented as subclasses of either "AbscontDistribution" or "DiscreteDistribution", which themselves are again subclasses of "Distribution".

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 under 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.

Note: Arithmetics on distribution objects are understood as operations on corresponding r.v.'s and not on distribution functions or densities.

You may set global options by distroptions() confer ?distroptions .

Up to version 1.5, additionally, we also provided classes for a standardized treatment of simulations (also under contaminations) and evaluations of statistical procedures on such simulations. These are now delegated to packages distrSim and distrTEst (see below).

Attention: This package has been reorganized in version 1.6; if you cannot find a class/method/function previously in the package, also search the new packages
distrSim, distrTEst, distrEx

Further packages built on top of package "distr":
RandVardistrMod,  distrTeach, distrEllipse,  (and, without extra web-page: distrRmetrics)


for version prior to 1.8, a somewhat more detailed manual to this package in pdf-format is available here;
from version 1.8 on, we have converted this manual into a common vignette to packages distr, distrEx, distrSim, distrTEst, distrMod, distrTeach,
which is available in the mere documentation package distrDoc. To use it you may type
        require("distrDoc"); V<-vignette("distr"); print(V); edit(V) 


This software is distributed under the terms of the GNU GENERAL
PUBLIC LICENSE LGPL v3, confer http://www.gnu.org/licenses/lgpl-3.0.html






also see demo(package="distr") --- after installation of "distr"

Version history:

Changes from 1.0 to 1.1 (03-12-04)

Changes from 1.1 to 1.2, 1.3

Changes from 1.3 to 1.4

Changes from 1.4 to 1.5

Changes from 1.5 to 1.6

Changes from 1.6 to 1.7

Changes from 1.7 to 1.8

Changes from 1.8 to 1.9

Changes from 1.9 to 2.0

Changes from 2.0 to 2.1

Changes from 2.1 onwards

  • see NEWS-file

  • Our plans for the next version:

    Things we invite other people to do

    This page is maintained by Peter Ruckdeschel (and was created by Thomas Stabla) and last updated on 2019-03-12.