TruncatedDistribution: Distribution Truncation Wrapper

TruncatedDistributionR Documentation

Distribution Truncation Wrapper

Description

A wrapper for truncating any probability distribution at given limits.

Details

The pdf and cdf of the distribution are required for this wrapper, if unavailable decorate with FunctionImputation first.

Truncates a distribution at lower and upper limits on a left-open interval, using the formulae

f_T(x) = f_X(x) / (F_X(upper) - F_X(lower))

F_T(x) = (F_X(x) - F_X(lower)) / (F_X(upper) - F_X(lower))

where f_T/F_T is the pdf/cdf of the truncated distribution T = Truncate(X, lower, upper) and f_X, F_X is the pdf/cdf of the original distribution. T is supported on (].

Super classes

distr6::Distribution -> distr6::DistributionWrapper -> TruncatedDistribution

Active bindings

properties

Returns distribution properties, including skewness type and symmetry.

Methods

Public methods

Inherited methods

Method new()

Creates a new instance of this R6 class.

Usage
TruncatedDistribution$new(distribution, lower = NULL, upper = NULL)
Arguments
distribution

⁠([Distribution])⁠
Distribution to wrap.

lower

(numeric(1))
Lower limit to huberize the distribution at. If NULL then the lower bound of the Distribution is used.

upper

(numeric(1))
Upper limit to huberize the distribution at. If NULL then the upper bound of the Distribution is used.

Examples
TruncatedDistribution$new(
  Binomial$new(prob = 0.5, size = 10),
  lower = 2, upper = 4
)

# alternate constructor
truncate(Binomial$new(), lower = 2, upper = 4)

Method clone()

The objects of this class are cloneable with this method.

Usage
TruncatedDistribution$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

See Also

Other wrappers: Convolution, DistributionWrapper, HuberizedDistribution, MixtureDistribution, ProductDistribution, VectorDistribution

Examples


## ------------------------------------------------
## Method `TruncatedDistribution$new`
## ------------------------------------------------

TruncatedDistribution$new(
  Binomial$new(prob = 0.5, size = 10),
  lower = 2, upper = 4
)

# alternate constructor
truncate(Binomial$new(), lower = 2, upper = 4)

RaphaelS1/distr6 documentation built on Feb. 24, 2024, 9:14 p.m.