Define prior distributions for types of parameters or specific parameters
within a model. For a complete list of types and parameters available for a
given model, see get_parameters().
Usage
prior(distribution, type, coefficient = NA, lower_bound = NA, upper_bound = NA)
prior_string(distribution, ...)Arguments
- distribution
A distribution statement for the prior (e.g.,
normal(0, 2)). For a complete list of available distributions, see the Stan documentation at https://mc-stan.org/docs/.- type
The type of parameter to apply the prior to. Parameter types will vary by model. Use
get_parameters()to see list of possible types for the chosen model.- coefficient
Name of a specific parameter within the defined parameter type. If
NA(the default), the prior is applied to all parameters within the type.- lower_bound
Optional. The lower bound where the distribution should be truncated.
- upper_bound
Optional. The upper bound where the distribution should be truncated.
- ...
Additional arguments passed to
prior().
Details
prior() should be used for directly specifying priors. That is, when you
are directly typing out or providing the distribution statement to the
function. If you have previously created a variable with a distribution
statement as a character string (e.g., dist <- "normal(0, 2)"), then you
should use prior_string() to create your prior. See examples.
Examples
prior(normal(0, 2), type = "intercept")
#> # A tibble: 1 × 3
#> type coefficient prior
#> <chr> <chr> <chr>
#> 1 intercept NA normal(0, 2)
c(prior(beta(5, 17), type = "slip"),
prior(beta(5, 25), type = "guess"))
#> # A tibble: 2 × 3
#> type coefficient prior
#> <chr> <chr> <chr>
#> 1 slip NA beta(5, 17)
#> 2 guess NA beta(5, 25)
my_prior <- "normal(0, 2)"
prior_string(my_prior, type = "intercept")
#> # A tibble: 1 × 3
#> type coefficient prior
#> <chr> <chr> <chr>
#> 1 intercept NA normal(0, 2)