Learn R Programming

SDMtune (version 0.2.1)

predict,SDMmodel-method: Predict

Description

Predict the output for a new dataset given a trained SDMmodel model.

Usage

# S4 method for SDMmodel
predict(object, data, type = NULL, clamp = TRUE,
  filename = "", format = "GTiff", extent = NULL, parallel = FALSE,
  progress = "", ...)

Arguments

object

'>SDMmodel object.

data

data.frame, '>SWD or raster stack with the data for the prediction.

type

character. Output type, see details, used only for Maxent and Maxnet methods, default is NULL.

clamp

logical for clumping during prediction, used only for Maxent and Maxnet methods, default is TRUE.

filename

character. Output file name for the prediction map, used only when data is a stack object. If provided the output is saved in a file.

format

character. The output format, see writeRaster for all the options, default is "GTiff".

extent

Extent object, if provided it restricts the prediction to the given extent, default is NULL.

parallel

logical to use parallel computation during prediction, default is FALSE.

progress

character to display a progress bar: "text", "window" or "" (default) for no progress bar.

...

Additional arguments to pass to the writeRaster function.

Value

A vector with the prediction or a raster object if data is a raster stack.

Details

  • filename, format, extent, parallel, progress and ... arguments are used only when the prediction is done for a stack object.

  • For models trained with the Maxent method the argument type can be: "raw", "logistic" and "cloglog".

  • For models trained with the Maxnet method the argument type can be: "link", "exponential", "logistic" and "cloglog", see maxnet for more details. The function performs the prediction in R without calling the MaxEnt Java software. This results in a faster computation for large datasets. The results might differ slightly from the Java software output.

  • For models trained with the ANN method the function uses the "raw" output type.

  • For models trained with the RF method the output is the probability of class 1.

  • For models trained with the BRT method the function uses the number of trees defined to train the model and the "response" output type.

  • Parallel computation increases the speed only for large datasets due to the time necessary to create the cluster. For Maxent models the function performs the prediction in R without calling the MaxEnt Java software. This results in a faster computation for large datasets and might result in slightly different results compare to the Java software.

References

Wilson P.D., (2009). Guidelines for computing MaxEnt model output values from a lambdas file.

Examples

Run this code
# NOT RUN {
# Acquire environmental variables
files <- list.files(path = file.path(system.file(package = "dismo"), "ex"),
                    pattern = "grd", full.names = TRUE)
predictors <- raster::stack(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")

# Split presence locations in training (80%) and testing (20%) datasets
datasets <- trainValTest(data, test = 0.2, only_presence = TRUE)
train <- datasets[[1]]
test <- datasets[[2]]

# Train a model
model <- train(method = "Maxnet", data = train, fc = "l")

# Make cloglog prediction for the test dataset
predict(model, data = test, type = "cloglog")

# Make logistic prediction for the all study area
predict(model, data = predictors, type = "logistic")

# }
# NOT RUN {
# Make logistic prediction for the all study area and save it in a file
predict(model, data = predictors, type = "logistic", filename = "my_map")
# }

Run the code above in your browser using DataLab