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)
The 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 get_geometry() function.
A convenience function map_leaflet() is provided to visualize occurrences on an interactive map:
map_leaflet(occurrence("Abra sibogai"))
The 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 occurrence() function, 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 unnest_extension() 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 <- unnest_extension(occ, extension = "MeasurementOrFact", 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") %>% unnest_extension(extension = "MeasurementOrFact")
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 <- unnest_extension(occ, extension = "DNADerivedData", 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.