This decorator imputes missing pdf/cdf/quantile/rand methods from R6 Distributions by using strategies dependent on which methods are already present in the distribution.

## Value

Returns a decorated R6 object inheriting from class SDistribution with d/p/q/r numerically imputed if previously missing.

## Details

Decorator objects add functionality to the given Distribution object by copying methods in the decorator environment to the chosen Distribution environment. See the 'Added Methods' section below to find details of the methods that are added to the Distribution. Methods already present in the distribution are not overwritten by the decorator.

Use decorate to decorate a Distribution.

All methods in this decorator use numerical approximations and therefore better results may be available from analytic computations.

FunctionImputation$new(distribution) ## Constructor Arguments  Argument Type Details distribution distribution Distribution to decorate. ## Added Methods  Method Name Link pdf(x1, ..., log = FALSE, simplify = TRUE) Density/mass function pdf cdf(x1, ..., lower.tail = TRUE, log.p = FALSE, simplify = TRUE) Distribution function cdf quantile(p, ..., lower.tail = TRUE, log.p = FALSE, simplify = TRUE) Quantile function quantile.Distribution rand(n, simplify = TRUE) Simulation function rand ## See also decorate, listDecorators ## Examples x = Distribution$new("Test", pdf = function(x) 1/(4-1),
support = set6::Interval$new(1,4), type = set6::Reals$new())
decorate(x, FunctionImputation)#> x is now decorated with FunctionImputation#> Test x$pdf(0:5)#> [1] 0.0000000 0.3333333 0.3333333 0.3333333 0.3333333 0.0000000x$cdf(0:5)#> Results from numeric calculations are approximate only. Better results may be available.#> [1] 0.0000000 0.0000000 0.3333333 0.6666667 1.0000000 1.0000000