DiscreteDistribution: Generating function "DiscreteDistribution"

View source: R/DiscreteDistribution.R

DiscreteDistributionR 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"),
             Symmetry = NoSymmetry())

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

Symmetry

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

Details

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

Typical usages are

    DiscreteDistribution(supp, prob)
    DiscreteDistribution(supp)
  

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@uni-oldenburg.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)

distr documentation built on May 31, 2023, 5:58 p.m.