Skip to contents

[Experimental] By default it will discretise all the distributions it can discretise (i.e. those with finite support and constant parameters).

Usage

discretise(x, strict = TRUE)

discretize(x, strict = TRUE)

Arguments

x

A <dist_spec>

strict

Logical; If TRUE (default) an error will be thrown if a distribution cannot be discretised (e.g., because no finite maximum has been specified or parameters are uncertain). If FALSE then any distribution that cannot be discretised will be returned as is.

Value

A <dist_spec> where all distributions with constant parameters are nonparametric.

Details

Discretise a <dist_spec>

Examples

# A fixed gamma distribution with mean 5 and sd 1.
dist1 <- Gamma(mean = 5, sd = 1, max = 20)

# An uncertain lognormal distribution with mean 3 and sd 2
dist2 <- LogNormal(mean = Normal(3, 0.5), sd = Normal(2, 0.5), max = 20)
#> Warning: Uncertain lognormal distribution specified in terms of parameters that are not the "natural" parameters of the distribution (meanlog, sdlog). Converting using a crude and very approximate method that is likely to produce biased results. If possible, it is preferable to specify the distribution directly in terms of the natural parameters.

# The maxf the sum of two distributions
discretise(dist1 + dist2, strict = FALSE)
#> Composite distribution:
#> - nonparametric distribution
#>   PMF: [8e-11 2.3e-05 0.0056 0.078 0.26 0.34 0.22 0.076 0.016 0.0022 0.00022 1.7e-05 1.1e-06 5.5e-08 2.4e-09 9.2e-11 3.2e-12 9.7e-14 2.8e-15 0 0]
#> - lognormal distribution (max: 20):
#>   meanlog:
#>     - normal distribution:
#>       mean:
#>         0.91
#>       sd:
#>         0.31
#>   sdlog:
#>     - normal distribution:
#>       mean:
#>         0.61
#>       sd:
#>         0.25