p_bpdp | R Documentation |
Create bivariate partial dependence plot(s) to explore the bivariate marginal effect of predictors on suitability
p_bpdp(
model,
predictors = NULL,
resolution = 50,
training_data = NULL,
training_boundaries = NULL,
projection_data = NULL,
clamping = FALSE,
color_gradient = c("#000004", "#1B0A40", "#4A0C69", "#781B6C", "#A42C5F", "#CD4345",
"#EC6824", "#FA990B", "#F7CF3D", "#FCFFA4"),
color_training_boundaries = "white",
theme = ggplot2::theme_classic()
)
model |
A model object of class "gam", "gbm", "glm", "graf", "ksvm", "ksvm", "maxnet”, “nnet", and "randomForest" This model can be found in the first element of the list returned by any function from the fit_, tune_, or esm_ function families |
predictors |
character. Vector of predictor names to calculate partial dependence plots. If NULL all predictors will be used. Default NULL |
resolution |
numeric. Number of equally spaced points at which to predict suitability values for continuous predictors. Default 50 |
training_data |
data.frame. Database with response (0,1) and predictor values used to fit a model. Default NULL |
training_boundaries |
character. Plot training conditions boundaries based on training data (i.e., presences, presences and absences, etc). If training_boundaries = "convexh", function will delimit training environmental region based on a convex-hull. If training_boundaries = "rectangle", function will delimit training environmental region based on four straight lines. If used any methods it is necessary provide data in training_data argument. If NULL all predictors will be used. Default NULL. |
projection_data |
SpatRaster. Raster layer with environmental variables used for model projection. Default NULL |
clamping |
logical. Perform clamping. Only for maxent models. Default FALSE |
color_gradient |
character. A vector with range of colors to plot. Default c("#FDE725", "#B3DC2B", "#6DCC57", "#36B677", "#1F9D87", "#25818E", "#30678D", "#3D4988", "#462777", "#440154") |
color_training_boundaries |
character. A vector with one color used to color points of residuals, Default "white" |
theme |
ggplot2 theme. Default ggplot2::theme_classic() |
This function creates partial dependent surface plots to explore the bivariate marginal effect of predictors on suitability. If projection_data is used, function will extract the minimum and maximum values found in a region or time period to which a model will be projected. Partial dependence surface plot could be used to interpret a model or to explore how a model my extrapolate outside the environmental conditions used to train the model (convex hull polygon).
data_pdp
, data_bpdp
, p_pdp
,
extra_eval
, extra_truncate
## Not run:
library(terra)
library(dplyr)
somevar <- system.file("external/somevar.tif", package = "flexsdm")
somevar <- terra::rast(somevar) # environmental data
names(somevar) <- c("aet", "cwd", "tmx", "tmn")
data(abies)
# set seed
abies2 <- abies %>%
dplyr::select(x, y, pr_ab) %>%
dplyr::group_by(pr_ab) %>%
dplyr::slice_sample(prop = 0.5)
abies2 <- sdm_extract(abies2,
x = "x",
y = "y",
env_layer = somevar
)
abies2 <- part_random(abies2,
pr_ab = "pr_ab",
method = c(method = "kfold", folds = 5)
)
svm_t1 <- fit_svm(
data = abies2,
response = "pr_ab",
predictors = c("aet", "cwd", "tmx", "tmn"),
partition = ".part",
thr = c("max_sens_spec")
)
# Partial depence surface plot
p_bpdp(model = svm_t1$model, training_data = abies2)
p_bpdp(model = svm_t1$model, training_data = abies2, predictors = c("aet", "cwd"))
p_bpdp(model = svm_t1$model, training_data = abies2, resolution = 10)
p_bpdp(model = svm_t1$model, training_data = abies2, resolution = 70)
# With training condition boundaires
p_bpdp(
model = svm_t1$model, training_data = abies2,
training_boundaries = "convexh"
)
p_bpdp(
model = svm_t1$model, training_data = abies2,
training_boundaries = "rectangle", color_training_boundaries = "yellow"
)
p_bpdp(
model = svm_t1$model, training_data = abies2, training_boundaries = "convexh",
color_training_boundaries = "orange",
color_gradient = c("#00007F", "#007FFF", "#7FFF7F", "#FF7F00", "#7F0000")
)
# With projection data
p_bpdp(
model = svm_t1$model, training_data = abies2, training_boundaries = "rectangle",
projection_data = somevar, # a SpatRaster used to predict or project the model
color_training_boundaries = "white",
color_gradient = c("#00007F", "#007FFF", "#7FFF7F", "#FF7F00", "#7F0000")
)
# Bivariate partial dependence plot for training and projection condition
plot(somevar[[1]], main = "Projection area")
p_bpdp(
model = svm_t1$model, training_data = abies2,
projection_data = somevar, # a SpatRaster used to predict or project the model
training_boundaries = "convexh"
)
# Bivariate partial dependece plot with categorical variables
somevar <- system.file("external/somevar.tif", package = "flexsdm")
somevar <- terra::rast(somevar) # environmental data
names(somevar) <- c("aet", "cwd", "tmx", "tmn")
cat <- system.file("external/clusters.shp", package = "flexsdm")
cat <- terra::vect(cat)
cat$clusters <- paste0("c", cat$clusters)
cat <- terra::rasterize(cat, somevar, field = "clusters")
somevar <- c(somevar, cat)
plot(somevar)
# set seed
abies2 <- abies %>%
dplyr::select(x, y, pr_ab) %>%
dplyr::group_by(pr_ab) %>%
dplyr::slice_sample(prop = 0.5)
abies2 <- sdm_extract(
data = abies2,
x = "x",
y = "y",
env_layer = somevar
)
abies2 <- part_random(abies2,
pr_ab = "pr_ab",
method = c(method = "kfold", folds = 5)
)
svm_t1 <- fit_svm(
data = abies2,
response = "pr_ab",
predictors = c("aet", "cwd", "tmx", "tmn"),
predictors_f = "clusters",
partition = ".part",
thr = c("max_sens_spec")
)
p_bpdp(model = svm_t1$model, training_data = abies2, training_boundaries = "convexh")
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.