DiscreteDistribution {distr}R Documentation

Generating function "DiscreteDistribution"

Description

Generates an object of class "DiscreteDistribution"

Usage

  DiscreteDistribution(supp, prob, .withArith=FALSE, .withSim=FALSE, 
                       .lowerExact = TRUE, .logExact = FALSE,
             .DistrCollapse = getdistrOption("DistrCollapse"),
             .DistrCollapse.Unique.Warn = 
                  getdistrOption("DistrCollapse.Unique.Warn"),
             .DistrResolution = getdistrOption("DistrResolution"))
  DiscreteDistribution(supp)

Arguments

supp numeric vector which forms the support of the discrete distribution.
prob vector of probability weights for the elements of supp.
.withArith normally not set by the user, but if determining the entries supp, prob distributional arithmetics was involved, you may set this to TRUE.
.withSim normally not set by the user, but if determining the entries supp, prob simulations were involved, you may set this to TRUE.
.lowerExact normally not set by the user: whether the lower.tail=FALSE part is calculated exactly, avoing a ``1-.''.
.logExact normally not set by the user: whether in determining slots d,p,q, we make particular use of a logarithmic representation to enhance accuracy.
.DistrCollapse controls whether in generating a new discrete distribution, support points closer together than .DistrResolution are collapsed.
.DistrCollapse.Unique.Warn controls whether there is a warning whenever collapsing occurs or when two points are collapsed by a call to unique() (default behaviour if .DistrCollapse is FALSE)
.DistrResolution minimal spacing between two mass points in a discrete distribution

Details

If prob is missing, all elements in supp are equally weighted.

Value

Object of class "DiscreteDistribution"

Note

Working with a computer, we use a finite interval as support which carries at least mass 1-getdistrOption("TruncQuantile").

Also, we require that support points have distance at least .DistrResoltion, if this condition fails, upon a suggestion by Jacob van Etten, jacobvanetten@yahoo.com, we use the global option .DistrCollapse to decide whether we use collapsing or not. If we do so, we collapse support points if they are too close to each other, taking the (left most) median among them as new support point which accumulates all the mass of the collapsed points. With .DistrCollapse==FALSE, we at least collapse points according to the result of unique(), and if after this collapsing, the minimal distance is less than .DistrResoltion, we throw an error. By .DistrCollapse.Unique.Warn, we control, whether we throw a warning upon collapsing or not.

Author(s)

Peter Ruckdeschel Peter.Ruckdeschel@itwm.fraunhofer.de,
Matthias Kohl Matthias.Kohl@stamats.de

See Also

DiscreteDistribution-class AbscontDistribution-class RtoDPQ.d

Examples

# Dirac-measure at 0
D1 <- DiscreteDistribution(supp = 0)
D1
# simple discrete distribution
D2 <- DiscreteDistribution(supp = c(1:5), prob = c(0.1, 0.2, 0.3, 0.2, 0.2))
D2

plot(D2)

[Package distr version 2.1.1 Index]