Provides wrappers around ipmr
generic functions to extract
some quantities of interest from pdb_proto_ipm_list
s and pdb_ipm
s.
# S3 method for pdb_proto_ipm_list
vital_rate_exprs(object)
# S3 method for pdb_ipm
vital_rate_exprs(object)
# S3 method for pdb_proto_ipm_list
kernel_formulae(object)
# S3 method for pdb_ipm
kernel_formulae(object)
# S3 method for pdb_proto_ipm_list
domains(object)
# S3 method for pdb_ipm
domains(object)
# S3 method for pdb_proto_ipm_list
parameters(object)
# S3 method for pdb_ipm
parameters(object)
# S3 method for pdb_proto_ipm_list
pop_state(object)
# S3 method for pdb_ipm
pop_state(object)
# S3 method for pdb_ipm
vital_rate_funs(ipm)
# S3 method for pdb_ipm
int_mesh(ipm, full_mesh = TRUE)
# S3 method for pdb_ipm
lambda(ipm, ...)
# S3 method for pdb_ipm
right_ev(ipm, iterations = 100, tolerance = 1e-10, ...)
# S3 method for pdb_ipm
left_ev(ipm, iterations = 100, tolerance = 1e-10, ...)
# S3 method for pdb_ipm
is_conv_to_asymptotic(ipm, tolerance = 1e-10, burn_in = 0.1)
# S3 method for pdb_ipm
conv_plot(ipm, iterations = NULL, log = FALSE, show_stable = TRUE, ...)
# S3 method for pdb_ipm
make_iter_kernel(ipm, ..., name_ps = NULL, f_forms = NULL)
# S3 method for pdb_ipm
mean_kernel(ipm)
pdb_new_fun_form(...)
# S3 method for pdb_proto_ipm_list
parameters(object, ...) <- value
# S3 method for pdb_proto_ipm_list
vital_rate_exprs(object, kernel = NULL, vital_rate = NULL) <- value
# S3 method for pdb_proto_ipm_list
kernel_formulae(object, kernel) <- value
# S3 method for pdb_ipm
[(x, i)
An object produced by pdb_make_proto_ipm
or
pdb_make_ipm
.
A pdb_ipm
.
Logical. Return the complete set of meshpoints or only the unique ones.
Usage depends on the function - see Details and Examples.
The number of times to iterate the model to reach convergence. Default is 100.
Tolerance to evaluate convergence to asymptotic dynamics.
The proportion of iterations to discard as burn in when assessing convergence.
Log-transform lambdas for plotting?
Show horizontal line denoting stable population growth?
For pdb_ipm
objects that contain age_x_size
IPMs,
a named list. The names of the list should be the ipm_id
s that are
age_x_size
models, and the values in the list should be the the name
of the survival/growth kernels.
For pdb_ipm
objects that contain age_x_size
IPMs,
a named list. The names of the list should be the ipm_id
s that are
age_x_size
models, and the values in the list should be the the name
of the fecundity kernels. If multiple sub-kernels contribute to fecundity, we
can also supply a string specifying how they are combined (e.g.
f_forms = "F + C"
).
The value to insert. See details and Examples.
Ignored, present for compatibility with ipmr
.
Ignored, present for compatibility with ipmr
.
A pdb_ipm
object.
The index to extract
Most of these return named lists where names correspond to
ipm_ids
. The exception is pdb_new_fun_form
, which returns a list
of expressions. It is only intended for setting new expressions with
vital_rate_exprs<-
.
There are number of uses for ...
which depend on the function
used for them. These are described below.
pdb_new_fun_form
This must be used when setting new expressions for
vital rates and kernel formulae. The ...
argument should be a named list
of named lists. The top most layer should be ipm_id
's. The next layer
should be a list where the names are vital rates you wish to modify, and the
values are the expressions you want to insert. See examples.
make_iter_kernel
The ...
here should be expressions representing the block kernel of
the IPMs in question. The names of each expression should be the ipm_id,
and the expressions should take the form of c(<upper_left>,
<upper_right>, <lower_left>, <lower_right>)
(i.e. a vector of symbols would create a matrix in row-major order).
See examples.
data(pdb)
my_pdb <- pdb_make_proto_ipm(pdb, c("aaaa17", "aaa310"))
#> 'ipm_id' aaa310 has the following notes that require your attention:
#> aaa310: 'Geo and time info retrieved from COMPADRE (v.X.X.X.4)'
# These values will be appended to the parameter list for each IPM, as they
# aren't currently present in them.
parameters(my_pdb) <- list(
aaa310 = list(
g_slope_2 = 0.0001,
establishment_prob = 0.02
),
aaaa17 = list(
g_var = 4.2,
germ_prob = 0.3
)
)
# We can overwrite a parameter value with a new one as well. Old values aren't
# saved anywhere except in the pdb object, so be careful!
parameters(my_pdb) <- list(
aaa310 = list(
s_s = 0.93, # old value is 0.92
gvar_i = 0.13 # old value is 0.127
)
)
vital_rate_exprs(my_pdb) <- pdb_new_fun_form(
list(
aaa310 = list(mu_g = g_int + g_slope * size_1 + g_slope_2 * size_1^2),
aaaa17 = list(sigmax2 = sqrt(g_var * exp(cfv1 + cfv2 * size_1))
)
)
)
kernel_formulae(my_pdb) <- pdb_new_fun_form(
list(
aaaa17 = list(Y = recr_size * yearling_s * germ_prob * d_size),
aaa310 = list(F = f_n * f_d * establishment_prob)
)
)
my_ipms <- pdb_make_ipm(my_pdb)
iter_kerns <- make_iter_kernel(my_ipms, aaaa17 = c(0, F_yr, Y, P_yr))