Provides read and write access to data and metadata from
    the 'DataONE' network <https://www.dataone.org> of data repositories.  
    Each 'DataONE' repository implements a consistent repository application 
    programming interface. Users call methods in R to access these remote 
    repository functions, such as methods to query the metadata catalog, get 
    access to metadata for particular data packages, and read the data objects 
    from the data repository. Users can also insert and update data objects on 
    repositories that support these methods.

Provides a flexible container to transport and manipulate complex
    sets of data. These data may consist of multiple data files and associated
    meta data and ancillary files. Individual data objects have associated system
    level meta data, and data files are linked together using the OAI-ORE standard
    resource map which describes the relationships between the files. The OAI-
    ORE standard is described at <https://www.openarchives.org/ore/>. Data packages
    can be serialized and transported as structured files that have been created
    following the BagIt specification. The BagIt specification is described at
    <https://datatracker.ietf.org/doc/html/draft-kunze-bagit-08>.

Open, read data from and modify Data Packages. Data Packages are
    an open standard for bundling and describing data sets
    (<https://datapackage.org>). When data is read from a Data Package care is
    taken to convert the data as much a possible to R appropriate data types.
    The package can be extended with plugins for additional data types.

A framework to help construct R data packages in a
    reproducible manner. Potentially time consuming processing of raw data
    sets into analysis ready data sets is done in a reproducible manner
    and decoupled from the usual 'R CMD build' process so that data sets
    can be processed into R objects in the data package and the data
    package can then be shared, built, and installed by others without the
    need to repeat computationally costly data processing.  The package
    maintains data provenance by turning the data processing scripts into
    package vignettes, as well as enforcing documentation and version
    checking of included data objects. Data packages can be version
    controlled on 'GitHub', and used to share data for manuscripts,
    collaboration and reproducible research.