R: Run conservation plans and return the portfolio mean and...
run_cons_plans
R Documentation
Run conservation plans and return the portfolio mean and variance values
Description
This function takes a set of weights representing different
conservation plans and gets the mean and variance in
portfolio space. This function allows a maximally
complicated set of weights to accommodate all possible
scenarios. It can accommodate different spatial strategies
of conservation, conserving different numbers of
populations, and a lack of knowledge. You can do this by
how you set your w weight object. See the example.
A (nested) list of weights. The first list level
contains the different plans. The next level contains
repetitions for a given plan. E.g. cp[[2]][[1]]
contains the first iteration of the second conservation
plan. Each end element should be a matrix of weights with
one row and the number of columns equal to the number of
subpopulations.
env_type
The environmental type to pass to
generate_env_ts
env_params
The environmental parameters to pass to
generate_env_ts
show_progress
Logical: show an indication of
progress?
burn
Cycles to throw out as burn in
assess_freq
How frequently (in years) to re-assess
the Ricker a and b values.
risk_fn
A risk function to use. Can be any
function that takes a numeric vector and returns a single
value. Suggested values include var, or
VaR, or CVaR. Defaults to
variance.
...
Other values to pass to
meta_sim
Value
A list with two high-level elements: the mean variance
output (plans_mv) and the raw simulation output
(plans_port). Within plans_mv, each element
of the list contains a conservation plan. Each row of the
data frames represents a trial run. Within
plans_port, each first level of the list contains a
weight element and each second level of the list contains a
replicate.
Examples
## Not run:
set.seed(1)
w_plans <- list()
w_plans[[1]] <- c(5, 1000, 5, 1000, 5, 5, 1000, 5, 1000, 5)
w_plans[[2]] <- c(5, 5, 5, 1000, 1000, 1000, 1000, 5, 5, 5)
w_plans[[3]] <- c(rep(1000, 4), rep(5, 6))
w_plans[[4]] <- rev(w_plans[[3]])
plans_name_sp <- c("Full range of responses", "Most stable only",
"Lower half", "Upper half")
n_trials <- 50 # number of trials at each n conservation plan
n_plans <- 4 # number of plans
num_pops <- c(2, 4, 8, 16) # n pops to conserve
w <- list()
for(i in 1:n_plans) { # loop over number conserved
w[[i]] <- list()
for(j in 1:n_trials) { # loop over trials
w[[i]][[j]] <- matrix(rep(625, 16), nrow = 1)
w[[i]][[j]][-sample(1:16, num_pops[i])] <- 5
}
}
arma_env_params <- list(mean_value = 16, ar = 0.1, sigma_env = 2, ma = 0)
x_arma_sp <- run_cons_plans(w, env_type = "arma", env_params = arma_env_params)
plot_cons_plans(x_arma_sp$plans_mv, plans_name = plans_name_sp, cols =
cols, add_all_efs = FALSE, xlim = c(0.02, 0.15), ylim = c(-0.017,
0.017), add_legend = FALSE)
# In this version, the pops are wiped out; total abundance changes
n_trials <- 50 # number of trials at each n conservation plan
num_pops <- c(2, 4, 8, 16) # n pops to conserve
n_plans <- length(num_pops) # number of plans
w <- list()
for(i in 1:n_plans) { # loop over number conserved
w[[i]] <- list()
for(j in 1:n_trials) { # loop over trials
w[[i]][[j]] <- matrix(rep(1000, 16), nrow = 1)
w[[i]][[j]][-sample(1:16, num_pops[i])] <- 5
}
}
plans_name_n <- paste(num_pops, "populations")
arma_env_params <- list(mean_value = 16, ar = 0.1, sigma_env = 2, ma = 0)
x_arma_n <- run_cons_plans(w, env_type = "arma", env_params =
arma_env_params, max_a = thermal_integration(16))
plot_cons_plans(x_arma_n$plans_mv, plans_name = plans_name_n, cols =
cols, add_all_efs = FALSE, xlim = c(0.02, 0.15), ylim = c(-0.017,
0.017), add_legend = FALSE)
## End(Not run)