Description Usage Arguments Details Value Author(s) See Also Examples
Priors can be specified in several ways in outbreaker2 (see details and examples). The most flexible way to specify a prior is to provide a prior function directly. This function must take an argument 'param', which is a list which contains all the states of the parameters and augmented data. See the documentation of create_param for more information.
1 2 3 4  custom_priors(...)
## S3 method for class 'custom_priors'
print(x, ...)

... 
A list or a series of named, commaseparated functions implementing priors. Each function must have a single argument, which corresponds to a 'outbreaker_param' list. 
x 
an 
There are three ways a user can specify priors:
1) Default: this is what happens when the 'config' has default values of
prior parameters.
2) Customized parameters: in this case, the prior functions are the default
ones from the package, but will use custom parameters, specified by the user
through create_config
.
3) Customized functions: in this case, prior functions themselves are
specified by the user, through the '...' argument of 'custom_priors'. The
requirements is that such functions must have either hardcoded parameters or
enclosed values. They will take a single argument which is a list containing
all model parameters with the class 'outbreaker_param'. ALL PRIORS functions
are expected to return values on a LOG SCALE.
Priors currently used for the model are:
mu
(mutation rate): default function is an exponential
distribution implemented in outbreaker:::cpp_prior_mu
. New prior
functions should use x$mu
to refer to the current value of mu
,
assuming their argument is called x
.
pi
(reporting probability): default function is a beta
distribution implemented in outbreaker:::cpp_prior_pi
. New prior
functions should use x$pi
to refer to the current value of pi
,
assuming their argument is called x
.
eps
(contact reporting coverage): default function is a beta
distribution implemented in outbreaker:::cpp_prior_eps
. New prior
functions should use x$eps
to refer to the current value of eps
,
assuming their argument is called x
.
lambda
(noninfectious contact rate): default function is a
beta distribution implemented in outbreaker:::cpp_prior_lambda
. New
prior functions should use x$lambda
to refer to the current value of
lambda
, assuming their argument is called x
.
A list of custom functions with class custom_priors
. Values
set to NULL
will be ignored and default functions will be used
instead.
Thibaut Jombart ([email protected]).
See customization vignette for detailed examples on how to customize priors.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35  ## BASIC CONFIGURATION
custom_priors()
## SPECIFYING PRIOR PARAMETERS
##  this will need to be passed to outbreaker
default_config < create_config()
new_config < create_config(prior_mu = 1e5,
prior_pi = c(2, 1))
##  to check the prior manually, default settings:
param < list(mu = 0.001, pi = 0.9)
outbreaker2:::cpp_prior_mu(param, default_config)
outbreaker2:::cpp_prior_pi(param, default_config)
outbreaker2:::cpp_prior_mu(param, new_config)
outbreaker2:::cpp_prior_pi(param, new_config)
## these correspond to:
dexp(0.001, 0.01, log = TRUE)
dbeta(0.9, 2, 1, log = TRUE)
## SPECIFYING A PRIOR FUNCTION
## flat prior for pi between 0.5 and 1
f < function(x) {ifelse(x$pi > 0.5, log(2), log(0))}
priors < custom_priors(pi = f)
priors # this should be passed to outbreaker
## test the prior manually
priors$pi(list(pi=1))
priors$pi(list(pi=.6))
priors$pi(list(pi=.2))
priors$pi(list(pi=.49))

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.