run_cons_plans {metafolio} | 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.
Usage
run_cons_plans(
w,
env_type,
env_params,
show_progress = TRUE,
burn = 1:30,
assess_freq = 5,
risk_fn = var,
...
)
Arguments
w |
A (nested) list of weights. The first list level contains the
different plans. The next level contains repetitions for a given plan.
E.g. |
env_type |
The environmental type to pass to
|
env_params |
The environmental parameters to pass to
|
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
|
... |
Other values to pass to |
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)