#' Extract predictor values.
#'
#' @param x An sf object containing the points where predictor data will be extracted.
#' @param predictor_stack A Raster or RasterStack object containing the predictor data.
#' @param drop_incomplete Boolean (TRUE / FALSE). Drop incomplete observations from
#' data frame after adding predictor data?
#'
#' @return An sf object with added predictor data columns.
#' @export
extract_preds <- function(x, predictor_stack, drop_incomplete=TRUE, factor_cols = NULL) {
ext <- as.data.frame(raster::extract(predictor_stack, as(x, "Spatial")))
colnames(ext) <- names(predictor_stack)
if(!is.null(factor_cols)) {
ext <- dplyr::mutate_at(ext, factor_cols, as.factor)
}
if(drop_incomplete) {
dat <- bind_cols(x, ext)
dat[dat %>% st_set_geometry(NULL) %>% complete.cases(),]
} else {
bind_cols(x, ext)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.