R/extract_preds.R

Defines functions extract_preds

Documented in extract_preds

#' 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)

  }

}
juoe/sdmflow documentation built on Feb. 23, 2020, 7:38 p.m.