# Acquire environmental variables
files <- list.files(path = file.path(system.file(package = "dismo"), "ex"),
pattern = "grd",
full.names = TRUE)
predictors <- terra::rast(files)
# Prepare presence and background locations
p_coords <- virtualSp$presence
bg_coords <- virtualSp$background
# Create SWD object
data <- prepareSWD(species = "Virtual species",
p = p_coords,
a = bg_coords,
env = predictors,
categorical = "biome")
# Train a model
model <- train(method = "Maxnet",
data = data,
fc = "lq")
# Plot cloglog response curve for a continuous environmental variable (bio1)
plotResponse(model,
var = "bio1",
type = "cloglog")
# Plot marginal cloglog response curve for a continuous environmental
# variable (bio1)
plotResponse(model,
var = "bio1",
type = "cloglog",
marginal = TRUE)
# Plot logistic response curve for a continuous environmental variable
# (bio12) adding the rugs and giving a custom color
plotResponse(model,
var = "bio12",
type = "logistic",
rug = TRUE,
color = "blue")
# Plot response curve for a categorical environmental variable (biome) giving
# a custom color
plotResponse(model,
var = "biome",
type = "logistic",
color = "green")
# Modify plot
# Change y axes limits
my_plot <- plotResponse(model,
var = "bio1",
type = "cloglog")
my_plot +
ggplot2::scale_y_continuous(limits = c(0, 1))
# Get the data and create your own plot:
df <- ggplot2::ggplot_build(my_plot)$data[[1]]
plot(df$x, df$y,
type = "l",
lwd = 3,
col = "blue",
xlab = "bio1",
ylab = "cloglog output")
# Train a model with cross validation
folds <- randomFolds(data,
k = 4,
only_presence = TRUE)
model <- train(method = "Maxnet",
data = data,
fc = "lq",
folds = folds)
# Plot cloglog response curve for a continuous environmental variable (bio17)
plotResponse(model,
var = "bio1",
type = "cloglog")
# Plot logistic response curve for a categorical environmental variable
# (biome) giving a custom color
plotResponse(model,
var = "biome",
type = "logistic",
color = "green")
Run the code above in your browser using DataLab