LatticeDistribution
-class is the mother-class of the
classes Binom
, Dirac
, Geom
, Hyper
, Nbinom
and
Poisson
. It formalizes a distribution on a regular affine
linear lattice.LatticeDistribution
is to call
the generating function LatticeDistribution
.
Somewhat more flexible, but also proner to inconsistencies is a call to
new("LatticeDistribution")
, where you may explicitly specify random
number generator, (counting) density, cumulative distribution and quantile
functions. For conveniance, in this call to new("LatticeDistribution")
,
an additional possibility is to only specify the random number generator. The
function RtoDPQ.d
then approximates the three remaining slots d
,
p
and q
by random sampling.img
"Reals"
: the space of the image
of this distribution which has dimension 1 and the name "Real Space" param
"Parameter"
: the parameter of
this distribution, having only the slot name
"Parameter of a discrete distribution" r
"function"
:
generates random numbersd
"function"
:
(counting) density/probability functionp
"function"
:
cumulative distribution functionq
"function"
:
quantile functionsupport
"numeric"
: a (sorted) vector
containing the support of the discrete
density functionlattice
"Lattice"
: the lattice
generating the support..withArith
.withSim
.logExact
.lowerExact
Symmetry
"DistributionSymmetry"
;
used internally to avoid unnecessary calculations."UnivariateDistribution"
, directly.
Class "Distribution"
, by class "UnivariateDistribution"
.initialize
signature(.Object = "LatticeDistribution")
:
initialize method signature(e1 = "LatticeDistribution")
:
application of `-' to this lattice distributionsignature(e1 = "LatticeDistribution", e2 = "numeric")
:
multiplication of this lattice distribution
by an object of class `numeric'signature(e1 = "LatticeDistribution", e2 = "numeric")
:
division of this lattice distribution by an object of class `numeric'signature(e1 = "LatticeDistribution", e2 = "numeric")
:
addition of this lattice distribution to an object of class `numeric'signature(e1 = "LatticeDistribution", e2 = "numeric")
:
subtraction of an object of class `numeric' from this lattice
distribution signature(e1 = "numeric", e2 = "LatticeDistribution")
:
multiplication of this lattice distribution by an object of class `numeric'signature(e1 = "numeric", e2 = "LatticeDistribution")
:
addition of this lattice distribution to an object of class `numeric'signature(e1 = "numeric", e2 = "LatticeDistribution")
:
subtraction of this lattice distribution from an object of class `numeric'signature(e1 = "LatticeDistribution",
e2 = "LatticeDistribution")
: Convolution of two lattice distributions.
Slots p, d and q are approximated by grids.signature(e1 = "LatticeDistribution",
e2 = "LatticeDistribution")
: Convolution of two lattice
distributions. The slots p, d and q are approximated by grids.sqrt
signature(x = "LatticeDistribution")
: exact
image distribution of sqrt(x)
.lattice
coerce
signature(from = "LatticeDistribution",
to = "DiscreteDistribution")
: coerces an object from
"LatticeDistribution"
to "DiscreteDistribution"
thereby cancelling out support points with probability 0."AffLinLatticeDistribution"
which has extra slots
a
, b
(both of class "numeric"
), and X0
(of class "LatticeDistribution"
), to capture the fact
that the object has the same distribution as a * X0 + b
. This is
the class of the return value of methods
signature(e1 = "LatticeDistribution")
signature(e1 = "LatticeDistribution", e2 = "numeric")
signature(e1 = "LatticeDistribution", e2 = "numeric")
signature(e1 = "LatticeDistribution", e2 = "numeric")
signature(e1 = "LatticeDistribution", e2 = "numeric")
signature(e1 = "numeric", e2 = "LatticeDistribution")
signature(e1 = "numeric", e2 = "LatticeDistribution")
signature(e1 = "numeric", e2 = "LatticeDistribution")
signature(e1 = "AffLinLatticeDistribution")
signature(e1 = "AffLinLatticeDistribution", e2 = "numeric")
signature(e1 = "AffLinLatticeDistribution", e2 = "numeric")
signature(e1 = "AffLinLatticeDistribution", e2 = "numeric")
signature(e1 = "AffLinLatticeDistribution", e2 = "numeric")
signature(e1 = "numeric", e2 = "AffLinLatticeDistribution")
signature(e1 = "numeric", e2 = "AffLinLatticeDistribution")
signature(e1 = "numeric", e2 = "AffLinLatticeDistribution")
coerce
-method from class
"AffLinLatticeDistribution"
to class "AffLinDiscreteDistribution"
which cancels out support points with probability 0.LatticeDistribution
Parameter-class
Lattice-class
UnivariateDistribution-class
DiscreteDistribution-class
Binom-class
Dirac-class
Geom-class
Hyper-class
Nbinom-class
Pois-class
AbscontDistribution-class
Reals-class
RtoDPQ.d
B <- Binom(prob = 0.1,size = 10) # B is a Binomial distribution w/ prob=0.1 and size=10.
P <- Pois(lambda = 1) # P is a Poisson distribution with lambda = 1.
D1 <- B+1 # a new Lattice distributions with exact slots d, p, q
D2 <- D1*3 # a new Lattice distributions with exact slots d, p, q
D3 <- B+P # a new Lattice distributions with approximated slots d, p, q
D4 <- D1+P # a new Lattice distributions with approximated slots d, p, q
support(D4) # the (approximated) support of this distribution is 1, 2, ..., 21
r(D4)(1) # one random number generated from this distribution, e.g. 4
d(D4)(1) # The (approximated) density for x=1 is 0.1282716.
p(D4)(1) # The (approximated) probability that x<=1 is 0.1282716.
q(D4)(.5) # The (approximated) 50 percent quantile is 3.
Run the code above in your browser using DataCamp Workspace