## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>", warning = FALSE, fig.width = 7, fig.height = 4, fig.align='center' ) ## ----import data-------------------------------------------------------------- # Load packages library(RuHere) library(terra) library(mapview) # Import occurrence data data("occ_flagged", package = "RuHere") # Remove flagged records occ <- remove_flagged(occ = occ_flagged) # Plot records ggmap_here(occ = occ) ## ----------------------------------------------------------------------------- # Generate heatmap heatmap <- spatial_kde(occ = occ, resolution = 0.2, buffer_extent = 50, radius = 2, zero_as_NA = TRUE) ## ----------------------------------------------------------------------------- ggmap_here(occ = occ, size_points = 0.5, heatmap = heatmap) ## ----------------------------------------------------------------------------- # Thin records using a 10 km distance threshold occ_thin <- thin_geo(occ = occ, d = 10, prioritary_column = "year") sum(!occ_thin$thin_geo_flag) # Number of records flagged for removal ## ----------------------------------------------------------------------------- # Remove flagged records occ_thin_geo <- remove_flagged(occ = occ_thin) # Create heatmap heatmap_thin_geo <- spatial_kde(occ = occ_thin_geo, resolution = 0.2, buffer_extent = 50, radius = 2, zero_as_NA = TRUE) # Plot ggmap_here(occ_thin, size_points = 0.5, heatmap = heatmap_thin_geo) ## ----------------------------------------------------------------------------- # Load example of raster variables data("worldclim", package = "RuHere") # Unwrap Packed raster r <- terra::unwrap(worldclim) # Select thinned occurrences occ_geo_moran <- flag_geo_moran(occ = occ, d = c(1, 3, 5, 7, 10, 15, 20, 30), prioritary_column = "year", env_layers = r) ## ----------------------------------------------------------------------------- occ_geo_moran$imoran ## ----------------------------------------------------------------------------- # Best distance selected occ_geo_moran$distance # Number of flagged records using this distance to thin sum(!occ_geo_moran$occ$thin_geo_flag) ## ----------------------------------------------------------------------------- # Remove flagged records occ_thin_geo_moran <- remove_flagged(occ = occ_geo_moran$occ) # Create heatmap heatmap_thin_geo_moran <- spatial_kde(occ = occ_thin_geo_moran, resolution = 0.2, buffer_extent = 50, radius = 2, zero_as_NA = TRUE) ggmap_here(occ = occ_geo_moran$occ, size_points = 0.5, heatmap = heatmap_thin_geo_moran) ## ----------------------------------------------------------------------------- # Get bins b <- get_env_bins(occ = occ, env_layers = r, n_bins = 10) head(b$data) ## ----------------------------------------------------------------------------- # Plot plot_env_bins(b, x_var = "bio_1", y_var = "bio_12", xlab = "Temperature", ylab = "Precipitation") ## ----------------------------------------------------------------------------- # Flag records that are close to each other in the enviromnetal space occ_thin_env <- thin_env(occ = occ, env_layers = r, n_bins = 10, prioritary_column = "year") # Number of flagged (redundant) records sum(!occ_thin_env$thin_env_flag) #Number of flagged records ## ----------------------------------------------------------------------------- # Remove flagged records occ_thinned_env <- remove_flagged(occ = occ_thin_env) # Create heatmap heatmap_thin_env <- spatial_kde(occ = occ_thinned_env, resolution = 0.2, buffer_extent = 50, radius = 2, zero_as_NA = TRUE) ggmap_here(occ_thin_env, size_points = 0.5, heatmap = heatmap_thin_env) ## ----------------------------------------------------------------------------- # Select thinned occurrences occ_env_moran <- flag_env_moran(occ = occ, n_bins = c(5, 10, 20, 30, 40, 50, 60, 70, 80), prioritary_column = "year", env_layers = r) ## ----------------------------------------------------------------------------- occ_env_moran$imoran ## ----------------------------------------------------------------------------- # Best distance selected occ_env_moran$n_bins # Number of flagged records using this distance to thin sum(!occ_env_moran$occ$thin_env_flag) ## ----------------------------------------------------------------------------- # Remove flagged records occ_thin_env_moran <- remove_flagged(occ = occ_env_moran$occ) # Create heatmap heatmap_thin_env_moran <- spatial_kde(occ = occ_thin_env_moran, resolution = 0.2, buffer_extent = 50, radius = 2, zero_as_NA = TRUE) ggmap_here(occ = occ_env_moran$occ, size_points = 0.5, heatmap = heatmap_thin_env_moran) ## ----------------------------------------------------------------------------- # Flag occurrences by thinning in geographic space occ_geo_moran <- flag_geo_moran(occ = occ, d = c(1, 3, 5, 7, 10, 15, 20, 30), prioritary_column = "year", env_layers = r) # Flag occurrences by thinning in environmental space occ_env_moran <- flag_env_moran(occ = occ_geo_moran$occ, n_bins = c(5, 10, 20, 30, 40, 50, 60, 70, 80), prioritary_column = "year", env_layers = r) # Get consensus occ_consensus <- flag_consensus(occ = occ_env_moran$occ, flags = c("thin_geo", "thin_env"), consensus_rule = "any_true", flag_name = "thin_geo_env_flag") # Remove flagged occ_consensus_filtered <- remove_flagged(occ = occ_consensus, flags = NULL, additional_flags = c("thin_geo_env" = "thin_geo_env_flag")) # Create heatmap heatmap_consensus_filtered <- spatial_kde(occ = occ_consensus_filtered, resolution = 0.2, buffer_extent = 50, radius = 2, zero_as_NA = TRUE) ## ----------------------------------------------------------------------------- ggmap_here(occ = occ_consensus, flags = c("thin_geo", "thin_env"), additional_flags = "thin_geo_env_flag", names_additional_flags = "Thinned geo-env", col_additional_flags = "blue", size_points = 0.5, heatmap = heatmap_consensus_filtered)