NOT_CRAN <- identical(tolower(Sys.getenv("NOT_CRAN")), "true") knitr::opts_chunk$set( purl = NOT_CRAN, eval = NOT_CRAN, collapse = TRUE, comment = "#>" )
This package is a client for the OBIS API. It includes functions for data access, as well as a few helper functions for visualizing occurrence data and extracting nested MeasurementOrFact or DNADerivedData records.
First some packages:
library(robis) library(dplyr) library(ggplot2)
occurrence() function provides access to raw occurrence data. For example, to fetch all occurrences by scientific name:
occ <- occurrence("Abra aequalis") occ
ggplot(occ) + geom_bar(aes(date_year), stat = "count", width = 1)
Alternatively, occurrences can be fetched by AphiaID:
occurrence(taxonid = 293683)
Other parameters include
geometry, which accepts polygons in WKT format:
occurrence("Abra alba", geometry = "POLYGON ((2.59689 51.16772, 2.62436 51.14059, 2.76066 51.19225, 2.73216 51.20946, 2.59689 51.16772))")
WKT strings can be created by drawing on a map using the
A convenience function
map_leaflet() is provided to visualize occurrences on an interactive map:
checklist() function returns all taxa observed for a given set of filters.
cl <- checklist("Semelidae") cl
ggplot(cl %>% filter(!is.na(genus))) + geom_bar(aes(genus)) + coord_flip() + ylab("species count")
Just like the
checklist() accepts WKT geometries:
checklist(geometry = "POLYGON ((2.59689 51.16772, 2.62436 51.14059, 2.76066 51.19225, 2.73216 51.20946, 2.59689 51.16772))")
The package also provides access to MeasurementOrFact records associated with occurrences. When calling
occurrence(), MeasurementOrFact records can be included by setting
mof = true.
occ <- occurrence("Abra tenuis", mof = TRUE)
MeasurementOrFact records are nested in the occurrence, but the
measurements() function allows you to extract them to a flat data frame. Use the
fields parameter to indicate which occurrence fields need to be preserved in the measurements table.
mof <- measurements(occ, fields = c("scientificName", "decimalLongitude", "decimalLatitude")) mof
Note that the MeasurementOrFact fields can be used as parameters to the
occurrence() function. For example, to only get occurrences with associated biomass measurements:
library(dplyr) occurrence("Abra tenuis", mof = TRUE, measurementtype = "biomass") %>% measurements()
Just like MeasurementOrFact records, nested DNADerivedData records can be extracted from the occurrence results.
occ <- occurrence("Prymnesiophyceae", datasetid = "62b97724-da17-4ca7-9b26-b2a22aeaab51", dna = TRUE) occ
dna <- dna_records(occ, fields = c("scientificName")) dna %>% select(scientificName, target_gene, DNA_sequence)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.