View source: R/make_spatial_folds.R
make_spatial_folds | R Documentation |
Applies make_spatial_fold()
to every record in a data frame xy.selected
to generate as many spatially independent folds over the dataset xy
as rows are in xy.selected
.
make_spatial_folds( data = NULL, dependent.variable.name = NULL, xy.selected = NULL, xy = NULL, distance.step.x = NULL, distance.step.y = NULL, training.fraction = 0.75, n.cores = parallel::detectCores() - 1, cluster = NULL )
data |
Data frame with a response variable and a set of predictors. Default: |
dependent.variable.name |
Character string with the name of the response variable. Must be in the column names of |
xy.selected |
Data frame with at least three columns: "x" (longitude), "y" (latitude), and "id" (integer, id of the record). Usually a subset of |
xy |
data frame with at least three columns: "x" (longitude), "y" (latitude), and "id" (integer, index of the record). Default: |
distance.step.x |
Numeric, distance step used during the growth in the x axis of the buffers defining the training folds. Default: |
distance.step.y |
Numeric, distance step used during the growth in the y axis of the buffers defining the training folds. Default: |
training.fraction |
numeric, fraction of the data to be included in the growing buffer as training data, Default: |
n.cores |
Integer, number of cores to use for parallel execution. Creates a socket cluster with |
cluster |
A cluster definition generated with |
A list with as many slots as rows are in xy.selected
. Each slot has two slots named training
and testing
, with the former having the indices of the training records selected from xy, and the latter having the indices of the testing records.
make_spatial_fold()
, rf_evaluate()
if(interactive()){ #loading example data data(plant_richness_df) #getting case coordinates xy <- plant_richness_df[, 1:3] colnames(xy) <- c("id", "x", "y") #thining til 20 cases xy.selected <- thinning_til_n( xy = xy, n = 20 ) #making spatial folds centered on these 20 cases out <- make_spatial_folds( xy.selected = xy.selected, xy = xy, distance.step = 0.05, #degrees training.fraction = 0.6, n.cores = 1 ) #plotting training and testing folds plot(xy[ c("x", "y")], type = "n", xlab = "", ylab = "") #plots training points points(xy[out[[10]]$training, c("x", "y")], col = "red4", pch = 15) #plots testing points points(xy[out[[10]]$testing, c("x", "y")], col = "blue4", pch = 15) #plots xy.i points(xy[10, c("x", "y")], col = "black", pch = 15, cex = 2) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.