DiscreteDistribution {distr}R Documentation

Generating function "DiscreteDistribution"


Generates an object of class "DiscreteDistribution"


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



numeric vector which forms the support of the discrete distribution.


vector of probability weights for the elements of supp.


normally not set by the user, but if determining the entries supp, prob distributional arithmetics was involved, you may set this to TRUE.


normally not set by the user, but if determining the entries supp, prob simulations were involved, you may set this to TRUE.


normally not set by the user: whether the lower.tail=FALSE part is calculated exactly, avoing a “1-.”.


normally not set by the user: whether in determining slots d,p,q, we make particular use of a logarithmic representation to enhance accuracy.


controls whether in generating a new discrete distribution, support points closer together than .DistrResolution are collapsed.


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)


minimal spacing between two mass points in a discrete distribution


you may help R in calculations if you tell it whether the distribution is non-symmetric (default) or symmetric with respect to a center; in this case use Symmetry=SphericalSymmetry(center).


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

Typical usages are

    DiscreteDistribution(supp, prob)


Object of class "DiscreteDistribution"


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.


Peter Ruckdeschel peter.ruckdeschel@uni-oldenburg.de,
Matthias Kohl Matthias.Kohl@stamats.de

See Also

DiscreteDistribution-class AbscontDistribution-class RtoDPQ.d


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


[Package distr version 2.9.3 Index]