Learn R Programming

neotoma2 R Package

The neotoma2 R package represents a set of breaking changes with the original neotoma R package. The neotoma package was deprecated following end-of-life for the Neotoma Windows Server in 2020 and the migration of the Neotoma backend infrastructure to a PostgreSQL database and JavaScript API.

The neotoma2 package is built on the new Neotoma API and is intended as a starting point for a fully interactive experience with the Neotoma Paleoecology Database, to support both data access and data input through R.

Contributors

This project is an open project, and contributions are welcome from any individual. All contributors to this project are bound by a code of conduct. Please review and follow this code of conduct as part of your contribution.

Tips for Contributing

Issues and bug reports are always welcome. Code clean-up, and feature additions can be done either through pull requests to project forks or project branches.

Please direct development questions to Simon Goring by email: goring@wisc.edu.

All products of the Neotoma Paleoecology Database are licensed under an MIT License unless otherwise noted.

How to use this repository

All R functions for the package should be written in the R folder. Any documentation should be added to .R files using roxygen2 notation. Because we are using roxygen2 for documentation in this package, all edits to documentation should take place in the associated functions .R file. The files in the man folder should not be manually changed.

Class definitions and new methods should be added to the files 01_classDefinitions.R and 02_genericDefinitions.R respectively, to ensure they are properly loaded during the package build process.

Development Workflow Overview

The neotoma2 package is built for R. Build tools include elements from the usethis, devtools and testthat R packages, and build and compilation occurs within (and outside) the RStudio IDE environment.

Package use requires the use of the devtools::install_github() function, to pull this working repository into a user's environment:

devtools::install_github('NeotomaDB/neotoma2', build_vignettes = TRUE)

The expectation for this repository is that all commits to the prod branch will support a clean package build. This is supported through GitHub Actions in the .github folder of the repository.

Analysis Workflow Overview

There is considerable information in the vignettes for the package, which can be accessed directly.

Report of Sites Statistics

In order to see the total available sites that can be queried by this package, use the function:

neotoma2::get_stats(start=0, end=1)

System Requirements

This project is built with R > v4.0. The packages needed for proper package use are detailed in the DESCRIPTION file for this repository.

Data Requirements

The neotoma2 R package pulls data from the Neotoma Paleoecology Database. Neotoma maintains a permissive data use policy. Within the data use policy there is a statement on co-authorship which reads:

Normal ethics apply to co-authorship of scientific publications. Paleoecological datasets are labor-intensive and complex: they take years to generate and always have additional attributes and metadata not captured in Neotoma. Neotoma data quality also relies on expert curation by data stewards, each associated with one or more Constituent Databases. Users of data stored in Neotoma’s Constituent Databases should consider inviting the original data contributor, or Constituent Database steward(s), to be a co-author(s) of any resultant publications if that contributor’s data are a major portion of the dataset analyzed, or if a data contributor or steward makes a significant contribution to the analysis of the data or to the interpretation of results. For large-scale studies using many Neotoma records, contacting all contributors or stewards or making them co-authors will not be practical, possible, or reasonable. Under no circumstance should authorship be attributed to data contributors or stewards, individually or collectively, without their explicit consent.

Metrics

This project is to be evaluated using the following metrics:

  • CRAN release 1.1.0 Pending August 2026.
  • CRAN release 1.0.12 April 2026
  • CRAN release 1.0.11 Bug fix: Set examples to \dontrun{} to avoid conflicts with CRAN's policy. DONE December 14, 2025
  • CRAN release 1.0.10 . DONE December 06, 2025
  • CRAN release 1.0.9 Documentation with pkgdown. Bug fixes DONE November 26, 2025
  • CRAN release 1.0.8 with speleothem data support and improved documentation.DONE November 18, 2025
  • CRAN 1.0.7 release DONE June 15, 2025
  • CRAN 1.0.6 release DONE June 23, 2025
  • CRAN 1.0.5 release, DONE December 27, 2024
  • CRAN 1.0.4 release, DONE July 23, 2024
  • Updated production Branch with CRAN changes, May 24, 2024.
  • CRAN 1.0.3 release, DONE February 28, 2024
  • Published JOSS paper, DONE 28 November, 2023
  • Submitted paper to JOSS DONE 03 May, 2023
  • Completion CRAN 1.0.0 release DONE April 23, 2023
  • Completion of core functionality for data access DONE Feb 10, 2022
  • Completion of core functionality for data presentation DONE
  • Completion of clear vignettes for major data types or Constituent Databases represented within the Neotoma Database.

Copy Link

Version

Install

install.packages('neotoma2')

Monthly Downloads

461

Version

1.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Dominguez Vidana Socorro

Last Published

September 15th, 2026

Functions in neotoma2 (1.1.0)

coordinates

Obtain coordinates from a sites object.
chronologies

Obtain the chronology from a record or multiple records.
dataset-class

S4 class for datasets information
datasets

Extract datasets from a sites object.
chronologies,collunit-method

Extract chronologies from a sites or collunits object.
get_publications

Get publication information for Neotoma records
count

Count the number of sites, datasets, or collectionunits associated with a site object.
get_documentation

get_documentation
get_datasets

get_datasets
datasets,collunits-method

Extract datasets from a sites or collunits object.
get_params

get_params
doi,sites-method

Obtain dataset DOIs from records.
get_contacts

Get contact information for Neotoma contributors
publications_classes

An S4 class for Neotoma publications.
plotLeaflet

plotLeaflet
missingOrNULL-class

c Method - Combine objects, including NULL
names,collunit-method

Get a neotoma2 object's slot names
set_dataset

set Site Information for Fossil Sites
[,collunits,numeric-method

sub
set_chronology

set chronology information for a new record.
chroncontrols

chroncontrols
speleothemdetails,sites-method

speleothemdetails
chroncontrols,sites-method

Recover information about the chron controls for a collectionunit.
get_sites

get_sites
set_collunit

set Site Information for Fossil Sites
get_speleothems

get_speleothems
collunits,sites-method

Extract collunits from a sites object.
pingNeotoma

pingNeotoma
set_default,chronologies-method

Change the default age model for a record.
contacts_classes

An S4 class for multi-contact information from the Neotoma Paleoecology Database.
collunits_classes

S4 class for collection units information.
collunits

Extract collection units from a sites object
get_downloads

get_downloads
get_manual

get_manual
filter

Apply a filter for Neotoma sites objects.
get_table

Get table record from Neotoma
set_site

set Site Information for Fossil Sites
speleothems,sites-method

speleothems
length,chronologies-method

length
taxa

taxa
set_contact

Set contact information for a new record.
speleothemdetails

Obtain speleothems and samples from a record or multiple records.
set_server

Set Neotoma API Source or Server
getids

Get object IDs
speleothems_classes

S4 class for speleothem information
set_default

Set the default chronology within a collectionunit.
[[,chronologies,numeric-method

sub-sub
set_speleothem

Set Speleothem
plotLeaflet,sites-method

plotLeaflet
%>%

Pipe operator See magrittr::%>% for details.
plot

Plot site coordinates using a basic plot.
[[<-,collunits-method

sub-subset
samples_classes

S4 class for samples information
get_stats

get_stats
samples

Obtain samples from a record or multiple records.
set_publication

Create a new publication (or publication set)
speleothems

Obtain speleothems from a record or multiple records.
taxa,sites-method

Extract taxonomic data from a set of sites.
set_sample

set Sample Information
get_taxa

get_taxa
get_taxon

get_taxon
samples,sites-method

samples
repositories_classes

S4 class for repository information
taxa_classes

S4 class for taxa information
sites_classes

An S4 class for sites information
show,chronology-method

Display a sites object or nested slots.
summary,sites-method

Summary of objects within a sites object.
[<-,collunit,character-method

subset
toWide

toWide
specimens_classes

S4 class for specimens information
author_classes

An S4 class for the authors of a Neotoma publication.
chroncontrols,chronologies-method

Recover the chron controls for a set of chronologies.
$<-,chronology-method

cash-set
as.data.frame,chronology-method

as.data.frame
chroncontrols,site-method

Recover information about the chron controls for a collectionunit.
chroncontrols,chronology-method

Recover the chron controls for a single chronology.
add_chronology

Add a new chronology into an existing collectionunit.
$,chronology-method

cash
check_contacts

Check contact information for a record against Neotoma contributors
c,chronologies-method

c - Combine neotoma2 objects
cite_data,sites-method

Obtain data citations from multiple records.
chronologies_classes

S4 class for chronologies information
coordinates,sites-method

Return the latitude and longitude of sites
doi

Obtain the DOI for publications or datasets.
clean

clean Neotoma objects to remove duplicates and empty objects.
cite_data

Generate a data citation from a Neotoma2 object.