View source: R/custom_likelihoods.R
custom_likelihoods | R Documentation |
This function is used to specify customised likelihood functions for outbreaker. Custom functions are specified as a named list or series of comma-separated, named arguments, indicating which log-likelihood component they compute. Values currently available are:
custom_likelihoods(...) ## S3 method for class 'custom_likelihoods' print(x, ...)
... |
a named list of functions, each computing a log-likelihood component. |
x |
an |
genetic
: the genetic likelihood; by default, the function
cpp_ll_genetic
is used.
timing_sampling
: the likelihood of sampling times; by default, the function
cpp_ll_timing_sampling
is used.
timing_infections
: the likelihood of infection times; by default, the function
cpp_ll_timing_infections
is used.
reporting
: the likelihood of the reporting process; by default,
the function cpp_ll_reporting
is used.
contact
: the likelihood of the contact tracing data; by default,
the function cpp_ll_contact
is used.
All log-likelihood functions should have the following arguments, in this order:
data
: a list of named items containing input data as returned by
outbreaker_data
param
: a list of parameters with the class
create_param
A named list of list(function, arity) pairs with the class
custom_likelihood
, each function implementing a customised
log-likelihood component of outbreaker. Functions which are not
customised will result in a list(NULL, 0) component. Any function with
arity 3 must have the third parameter default to NULL.
a list of named functions
Thibaut Jombart (thibautjombart@gmail.com)
See customization vignette for detailed examples on how to customize likelihoods.
## specify a null model by disabling all likelihood components f_null <- function(data, param) { return(0.0) } null_model <- custom_likelihoods(genetic = f_null, timing_sampling = f_null, timing_infections = f_null, reporting = f_null, contact = f_null) null_config <- list(find_import = FALSE, n_iter = 100, sample_every = 1) ## load data x <- fake_outbreak data <- outbreaker_data(dates = x$sample, dna = x$dna, w_dens = x$w) res_null <- outbreaker(data = data, config = null_config, likelihoods = null_model) ## visualise ancestries to see if all transmission trees have been explored plot(res_null, type = "alpha")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.