extract_coords_combine: Combine extracted explanatory variable data for occurrence...

View source: R/extract_coords_combine.R

extract_coords_combineR Documentation

Combine extracted explanatory variable data for occurrence records into single data frame.

Description

Combines the split output files from functions extract_dynamic_coords() and extract_buffered_coords() into single data frame containing all occurrence records and explanatory variables.

Usage

extract_coords_combine(
  varnames,
  local.directory,
  set_class = FALSE,
  col_classes
)

Arguments

varnames

a character string, the unique names for each explanatory variable.

local.directory

a character string or vector, the path to local directory or directories to read extracted explanatory data frames from.

set_class

a logical indicating whether to set the classes of each column in the data before merging to avoid error. See details for more information.

col_classes

optional; a named vector specifying the classes for columns within occ.data.

Details

When functions extract_dynamic_coords() and extract_buffered_coords() have been used to extract dynamic explanatory variables for occurrence records, the output for individual records and each variable will be split into separate “csv” files.

This function reads in these files and combines data into a single data frame containing each occurrence records and associated explanatory data from each variable.

To prevent error, the “csv” files must be uniquely named within the folder(s) and include an exact character match for the varnames provided. All “csv” files matching the varnames should have the same number and names of columns. This is the default output ofextract_dynamic_coords() and extract_buffered_coords().

Value

Returns a data frame containing all occurrence records with associated explanatory variable data.

Column classes

When co-ordinate data have been extracted using the split method in extract_dynamic_coords() and extract_buffered_coords(), sometimes the classes of columns in the separate exported data frames can vary. For instance, one split row may contain an NA value in one column, whilst another split contains a numerical value. When extract_coords_combine() attempts to read these in and bind them together, an error can occur due to the class mismatch (logical compared to numeric).

There are two arguments that can help to resolve this error:

  • If set_class = TRUE and col_classes is given, then the column classes for each split data frame will be set as the classes in col_classes.

  • If set_class = TRUE and col_classes is not given, then the column classes for each split data frame will be set by the classes of columns in the first read in csv. Be aware that this approach may be inaccurate and lead to parsing warnings, as it depends on the first split containing the correct classes (e.g. numeric not a logical in the example above).

Examples


data(sample_filt_data)


dynamicSDM::extract_dynamic_coords(
 occ.data = sample_filt_data,
 datasetname = "UCSB-CHG/CHIRPS/DAILY",
 bandname = "precipitation",
 spatial.res.metres = 10000,
 GEE.math.fun = "sum",
 temporal.direction = "prior",
 temporal.res = 56,
 save.method = "split",
 varname = "eightweekprec",
 save.directory = tempdir()
)
dynamicSDM::extract_dynamic_coords(
 occ.data = sample_filt_data,
 datasetname = "UCSB-CHG/CHIRPS/DAILY",
 bandname = "precipitation",
 spatial.res.metres = 10000,
 GEE.math.fun = "sum",
 temporal.direction = "prior",
 temporal.res = 364,
 save.method = "combined",
 varname = "annualweekprec",
 save.directory = tempdir()
)

extract_coords_combine(varnames = c("eightweekprec", "annualweekprec"),
                      local.directory = tempdir(),
                      set_class = TRUE,
                      col_classes = c(sapply(sample_filt_data,class),
                                    eightweekprec = "numeric",
                                    annualweekprec="numeric"))


dynamicSDM documentation built on June 28, 2024, 5:08 p.m.