# prior

##### Prior Distribution

Defines a prior distribution/probability density function for the average effect size \(d\) or for the heterogeneity of effect sizes \(\tau\).

##### Usage

```
prior(family, param, lower, upper, label = "d",
rel.tol = .Machine$double.eps^0.5)
```

##### Arguments

- family
a character value defining the distribution family.

- param
numeric parameters for the distribution. See details for the definition of the parameters of each family.

- lower
lower boundary for truncatation of prior density. If

`family="beta"`

, the interval [0,1] is rescaled to the interval [lower,upper]. Must be specified if`family = "custom"`

.- upper
See

`lower`

.- label
optional: parameter label.

- rel.tol
relative tolerance used for integrating the density of

`family="custom"`

.

##### Details

The following prior distributions are currently implemented:

`"norm"`

: Normal distribution with`param = c(mean, sd)`

(see`Normal`

).`"t"`

: Student t distribution with`param = c(location, scale, nu)`

(see`dist.Student.t`

). Note that a Cauchy distribution is defined by setting the degrees of freedom`nu=1`

.`"invgamma"`

: Inverse gamma distribution with`param = c(shape, scale)`

(see`dist.Inverse.Gamma`

).`"beta"`

: (Scaled) beta distribution with`param = c(shape1, shape2)`

(see`Beta`

).`"custom"`

: User-specified prior density function defined by`param`

(see examples; the density must be nonnegative and vectorized, but is normalized internally). Integration is performed from (-Inf, Inf), which requires that the function returns zeros (and not NAs) for values not in the support of the distribution.

##### Value

an object of the class `prior`

: a density function with the arguments
`x`

(parameter values) and `log`

(whether to return density or log-density).

##### Examples

```
# NOT RUN {
### Half-Normal Distribution
p1 <- prior("norm", c(mean=0, sd=.3), lower = 0)
p1
p1(c(-1,1,3))
plot(p1, -.1, 1)
### Half-Cauchy Distribution
p2 <- prior("t", c(location = 0, scale = .3, nu = 1), lower = 0)
plot(p2, -.5, 3)
### Custom Prior Distribution
p3 <- prior("custom", function(x) x^2, 0, 1)
plot(p3, -.1, 1.2)
# }
```

*Documentation reproduced from package metaBMA, version 0.6.2, License: GPL-3*