Skip to contents

A specialisation of create_prior() where the parameter space is described by independent normal variables, possibly truncated.

Usage

create_normal_prior(
  n_dim = NULL,
  mean = 0,
  sd = 1,
  lower = -Inf,
  upper = Inf,
  varnames = "Normal",
  name_repair = c("unique", "universal", "check_unique")
)

Arguments

n_dim

An optional positive integer. The number of dimensions of the prior distribution. If left NULL, this is inferred from the common length of the vector-valued parameters (see Note).

mean

Numeric vector of means.

sd

Numeric vector of standard deviations (must be strictly positive.)

lower, upper

Numeric vector of bounds for a truncated normal distribution.

varnames

An optional character vector. Names for the variables in the prior distribution.

name_repair

An optional, case-sensitive string. How to repair varnames. Options are "unique" (default), "universal", or "check_unique". See vctrs::vec_as_names() for details.

Value

A normal_prior, a subclass of ernest_prior with an efficient implementation of the unit hypercube transformation.

Note

The vector-valued parameters in this function are recycled to length n_dim if it is an integer, or to a common length if n_dim = NULL. See vctrs::vector_recycling_rules for additional information on recycling.

See also

Other special_priors: create_uniform_prior()

Examples

prior <- create_normal_prior(n_dim = 3)
#> New names:
#>  `Normal` -> `Normal...1`
#>  `Normal` -> `Normal...2`
#>  `Normal` -> `Normal...3`
prior$fn(c(0.25, 0.5, 0.75))
#> [1] -0.6744898  0.0000000  0.6744898