Skip to contents

Create random folds for cross validation.

Usage

randomFolds(data, k, only_presence = FALSE, seed = NULL)

Arguments

data

SWD object that will be used to train the model.

k

integer. Number of fold used to create the partition.

only_presence

logical, if TRUE the random folds are created only for the presence locations and all the background locations are included in each fold, used manly for presence-only methods.

seed

integer. The value used to set the seed for the fold partition.

Value

list with two matrices, the first for the training and the second for the testing dataset. Each column of one matrix represents a fold with TRUE for the locations included in and FALSE excluded from the partition.

Details

When only_presence = FALSE, the proportion of presence and absence is preserved.

Author

Sergio Vignali

Examples

# 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

data <- prepareSWD(species = "Virtual species", p = p_coords, a = bg_coords,
                   env = predictors, categorical = "biome")
#>  Extracting predictor information for presence locations
#>  Extracting predictor information for presence locations [21ms]
#> 
#>  Extracting predictor information for absence/background locations
#>  Extracting predictor information for absence/background locations [52ms]
#> 

# Create 4 random folds splitting presence and absence locations
folds <- randomFolds(data, k = 4)

# Create 4 random folds splitting only the presence locations
folds <- randomFolds(data, k = 4, only_presence = TRUE)