rgbif (version 0.9.2)

occ_issues: Parse and examine further GBIF issues on a dataset.

Description

Parse and examine further GBIF issues on a dataset.

Usage

occ_issues(.data, ..., mutate = NULL)

Arguments

.data
Output from a call to occ_search, but only if return="all", or return="data", otherwise function stops with error
...
Named parameters to only get back (e.g., cdround), or to remove (e.g. -cdround).
mutate
(character) One of:
  • split Split issues into new columns.
  • split_expand Split into new columns, and expand issue names.
  • expand Expand issue abbreviated codes into descriptive names.
For split and split_expand, values in cel

Details

See also the vignette Cleaning data using GBIF issues.

Note that you can also query based on issues, e.g., occ_search(taxonKey=1, issue='DEPTH_UNLIKELY'). However, I imagine it's more likely that you want to search for occurrences based on a taxonomic name, or geographic area, not based on issues, so it makes sense to pull data down, then clean as needed using this function.

This function only affects the data element in the gbif class that is returned from a call to occ_search. Maybe in a future version we will remove the associated records from the hierarchy and media elements as they are remove from the data element.

References

http://gbif.github.io/gbif-api/apidocs/org/gbif/api/vocabulary/OccurrenceIssue.html

Examples

Run this code
## what do issues mean, can print whole table, or search for matches
head(gbif_issues())
gbif_issues()[ gbif_issues()$code %in% c('cdround','cudc','gass84','txmathi'), ]

# compare out data to after occ_issues use
(out <- occ_search(limit=100))
out %>% occ_issues(cudc)

# Parsing output by issue
(res <- occ_search(geometry='POLYGON((30.1 10.1, 10 20, 20 40, 40 40, 30.1 10.1))', limit = 50))

## or parse issues in various ways
### inlude only rows with gass84 issue
gg <- res %>% occ_issues(gass84)
NROW(res$data)
NROW(gg$data)
head(res$data)[,c(1:5)]
head(gg$data)[,c(1:5)]

### remove data rows with certain issue classes
res %>% occ_issues(-cdround, -cudc)

### split issues into separate columns
res %>% occ_issues(mutate = "split")
res %>% occ_issues(-cudc, -mdatunl, mutate = "split")
res %>% occ_issues(gass84, mutate = "split")

### expand issues to more descriptive names
res %>% occ_issues(mutate = "expand")

### split and expand
res %>% occ_issues(mutate = "split_expand")

### split, expand, and remove an issue class
res %>% occ_issues(-cudc, mutate = "split_expand")

## Or you can use occ_issues without %>%
occ_issues(res, -cudc, mutate = "split_expand")

Run the code above in your browser using DataLab