prior {metaBMA} | R Documentation |
Prior Distribution
Description
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 |
upper |
See |
label |
optional: parameter label. |
rel.tol |
relative tolerance used for integrating the density of |
Details
The following prior distributions are currently implemented:
-
"norm"
: Normal distribution withparam = c(mean, sd)
(seeNormal
). -
"t"
: Student's t-distribution withparam = c(location, scale, nu)
wherenu
are the degrees of freedom (seedist.Student.t
). -
"cauchy"
: Cauchy distribution withparam = c(location, scale)
. The Cauchy distribution is a special case of the t-distribution with degrees of freedomnu=1
. -
"gamma"
: Gamma distribution withparam = c(shape, rate)
with rate parameter equal to the inverse scale (seeGammaDist
). -
"invgamma"
: Inverse gamma distribution withparam = c(shape, scale)
(seedist.Inverse.Gamma
). -
"beta"
: (Scaled) beta distribution withparam = c(shape1, shape2)
(seeBeta
). -
"custom"
: User-specified prior density function defined byparam
(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
### 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("cauchy", c(location = 0, scale = .3), lower = 0)
plot(p2, -.5, 3)
### Custom Prior Distribution
p3 <- prior("custom", function(x) x^2, 0, 1)
plot(p3, -.1, 1.2)