View source: R/marginal_response.R
marginal_response | R Documentation |
Calculate the marginal responses of each variables within the model.
marginal_response(model, var_occ, variables, si = 1000, visualize = FALSE)
model |
(Any predictive model). In this package, it is |
var_occ |
( |
variables |
( |
si |
( |
visualize |
( |
The values show how each environmental variable affects the modeling
prediction. They show how the predicted result changes as each environmental
variable is varied while keeping all other environmental variables at average
sample value. They might be hard to interpret if there are strongly correlated
variables. The users could use dim_reduce
function to remove
the strong correlation from original environmental variable stack.
(MarginalResponse
) A nested list of
responses_cont (list
) A list of response values of continuous variables
responses_cat (list
) A list of response values of categorical variables
Elith, Jane, et al. "The evaluation strip: a new and robust method for plotting predicted responses from species distribution models." Ecological modelling 186.3 (2005): 280-289.\Sexpr[results=rd]{tools:::Rd_expr_doi("10.1016/j.ecolmodel.2004.12.007")}
plot.MarginalResponse
# Using a pseudo presence-only occurrence dataset of
# virtual species provided in this package
library(dplyr)
library(sf)
library(stars)
library(itsdm)
# Prepare data
data("occ_virtual_species")
obs_df <- occ_virtual_species %>% filter(usage == "train")
eval_df <- occ_virtual_species %>% filter(usage == "eval")
x_col <- "x"
y_col <- "y"
obs_col <- "observation"
# Format the observations
obs_train_eval <- format_observation(
obs_df = obs_df, eval_df = eval_df,
x_col = x_col, y_col = y_col, obs_col = obs_col,
obs_type = "presence_only")
env_vars <- system.file(
'extdata/bioclim_tanzania_10min.tif',
package = 'itsdm') %>% read_stars() %>%
slice('band', c(1, 5, 12, 16))
# With imperfect_presence mode,
mod <- isotree_po(
obs_mode = "imperfect_presence",
obs = obs_train_eval$obs,
obs_ind_eval = obs_train_eval$eval,
variables = env_vars, ntrees = 10,
sample_size = 0.8, ndim = 2L,
seed = 123L, nthreads = 1,
response = FALSE,
spatial_response = FALSE,
check_variable = FALSE)
marginal_responses <- marginal_response(
model = mod$model,
var_occ = mod$vars_train,
variables = mod$variables)
plot(marginal_responses)
#'
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.