Plot independent response curves using ggplot2 by optionally set target variable(s).

# S3 method for IndependentResponse
plot(x, target_var = NA, smooth_span = 0.3, ...)

Arguments

x

(IndependentResponse) The independent response curve object to plot. It could be the return of function independent_response.

target_var

(vector of character) The target variable to plot. It could be NA. If it is NA, all variables will be plotted.

smooth_span

(numeric) The span value for smooth fit in ggplot2. When it is 0, no smooth applied. The default is 0.3.

...

Not used.

Value

ggplot2 figure of response curves

Examples

# \donttest{
# 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 = 20,
  sample_size = 0.8, ndim = 2L,
  seed = 123L, response = FALSE,
  spatial_response = FALSE,
  check_variable = FALSE)

independent_responses <- independent_response(
  model = mod$model,
  var_occ = mod$vars_train,
  variables = mod$variables)
plot(independent_responses)
# }