Description Usage Arguments Details Value See Also Examples
View source: R/fit_geno_cline.R
Use Rstan to fit Bayesian hybrid zone cline models to genetic data.
1 2 3 |
data |
A dataframe containing your cline data. See
|
prior_file |
The path to the |
type |
The type of model to fit. Either "bi", for a binomial model of allele frequencies, or "multi" for a multinomial model of genotype frequencies. |
tails |
Which type of tails for the model: "none", "left", "right", "mirror", or "ind"? |
chains |
The number of MCMC chains to create. Numeric, coerced to integer. Default is 4. |
ignore_data |
Used for doing prior predictive checks. If FALSE, the default, the model is fit normally. If TRUE, the data are ignored during model fitting. This is useful for double-checking the prior distributions or parameters, and for doing prior predictive checks of the model. |
init |
Optional, default is |
... |
Arguments to be passed to |
This is a wrapper function, which calls various data- and model-preparation
functions from bahz
before passing the results to the
sampling
function in rstan
, which does the MCMC model
fitting. Specifically, this function calls:
prep_geno_data
to format the provided
data
.
prep_prior_list
, which creates a list containing
the specifications of the prior distributions, to be passed to Stan.
It creates the priors according to the configuration file prior_file
.
prep_init_list
, which creates a list of values for
initialiing the MCMC chains in stan
. Initial values are randomly
drawn from the priors specified in prior_file
. This step is ignored
if the user supplies an initialization list with the init
argument.
The results of these functions are then passed to
sampling
, along with any additional stan
arguments supplied by the user. In most cases, these additional stan
arguments should be unnecessary. bahz
uses the default stan
arguments for all sampler parameters expect for one: the default adapt_delta
for bahz
is 0.95, to better avoid divergent transitions. Note that
supplying ANY stan
arguments will override ALL bahz
defaults.
E.g., specifying a different number of total iterations will reset the
adapt_delta to the stan
default of 0.8.
A stanfit
object containing your model results.
prep_geno_data
, prep_prior_list
,
prep_init_list
, sampling
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ## Not run:
# Fit a multinomial cline
# with mirrored introgression tails.
# Uses default number of chains and stan parameters.
results <- fit_geno_cline(clinedata, "prior_file.yaml",
type = "multi", tails = "mirror")
# Fit a binomial cline
# with no introgression tails.
# Use 5 chains with 4000 warmup iterations
# and 8000 total iterations per chain.
# Note that this changes the adapt_delta to
# the stan default of 0.8
results2 <- fit_geno_cline(clinedata, "prior_file.yaml",
type = "bi", tails = "none",
chains = 5,
iter = 8000, warmup = 4000)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.