This is always the first step in constructing an IPM with ipmr
.
All you need for this is to know what type of IPM you want to construct - the
rest comes later with define_kernel
, make_ipm
, and associated
helper functions. See Details for complete overview of each option.
init_ipm(sim_gen, di_dd, det_stoch, kern_param = NULL, uses_age = FALSE)
Either "simple"
or "general"
.
Either "di"
or "dd"
.
Either "det"
or "stoch"
. If this is "det"
,
then kern_param
is ignored. If "stoch"
, then kern_param
must be specified.
If det_stoch = "stoch"
, then this should be either
"kern"
or "param"
.
A logical indicating whether the model has age structure. Default
is FALSE
An object with classes "proto_ipm"
and a combination of
sim_gen
, di_dd
, det_stoch
, and possibly
kern_param
. If
uses_age = TRUE
, then an "age_x_size"
class is also added.
Combinations of simple
or general
, dd
or di
,
and det
or stoch
are generated to create 1 of 12 unique IPM classes.
Within stoch
model types, there are two additional options:
"kern"
or "param"
. These distinguish between models that
use kernel resampling vs those that use parameter resampling (sensu Metcalf et al.
2015). Below are quick definitions. More detailed explanations can be found
in the vignettes("ipmr-introduction", package = 'ipmr')
.
sim_gen
simple
: an IPM with a single continuous state variable that does not include
any discrete stages. Simple IPMs can still be stochastic and/or density dependent.
general
: an IPM with more than one continuous state variable
and/or a model that includes discrete stages.
di_dd
dd
: used to denote a density dependent IPM.
di
: used to denote a density independent IPM.
det_stoch
det
: used to denote a deterministic IPM.
stoch
: used to denote a stochastic IPM. Stochasticity can
be implemented in two ways in ipmr
: "kern"
resampling,
and "param"
resampling.
kern_param
- if using det
, this should be omitted. If
using stoch
, then one of the following:
kern
: used to denote an IPM that uses kernel resampling. Briefly,
these models build all of the iteration kernels ahead of time and then choose one
at random or in a user-specified order as they move from iteration to iteration. The
user-specified population vector is multiplied by the chosen kernel and the result
is multiplied by the next kernel for the desired number of iterations.
param
: used to denote parameter resampling. This samples distributions
for each parameter based on user-specified functions supplied to define_env_state()
.
This will be a bit slower than "kern"
resampling because kernels
need to be reconstructed from new parameters at every time step.
Metcalf et al. (2015). Statistical modelling of annual variation for inference on stochastic population dynamics using Integral Projection Models. Methods in Ecology and Evolution, 6: 1007-1017