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 (].

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

## Super classes

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

## Methods

### Public methods

Inherited methods

### Method new()

Creates a new instance of this R6 class.

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 setParameterValue()

Sets the value(s) of the given parameter(s).

#### Arguments

deep

Whether to make a deep clone.

## Examples


## ------------------------------------------------
## Method TruncatedDistribution$new ## ------------------------------------------------ TruncatedDistribution$new(
Binomial$new(prob = 0.5, size = 10), lower = 2, upper = 4 ) #> TruncBinom(Binom_prob = 0.5, Binom_qprob = 0.5,...,trunc_lower = 2, trunc_upper = 4) # alternate constructor truncate(Binomial$new(), lower = 2, upper = 4)
#> TruncBinom(Binom_prob = 0.5, Binom_qprob = 0.5,...,trunc_lower = 2, trunc_upper = 4)