diff --git a/README.Rmd b/README.Rmd index 06639ce..5e973ee 100644 --- a/README.Rmd +++ b/README.Rmd @@ -63,7 +63,9 @@ library(NPSdataverse) ``` -## Trouble shooting installation +## Troubleshooting installation + +If `pak::pkg_install()` throws an error, try `remotes::install_github("nationalparkservice/NPSdataverse")` instead. Each package within the NPSdataverse has a number of dependencies, most of which are hosted on CRAN. During the initial install of NPSdataverse, you may be diff --git a/README.md b/README.md index ff0cbe0..5567465 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ + [![R-CMD-check](https://github.com/nationalparkservice/NPSdataverse/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/nationalparkservice/NPSdataverse/actions/workflows/R-CMD-check.yaml) @@ -47,7 +48,10 @@ pak::pkg_install("nationalparkservice/NPSdataverse") library(NPSdataverse) ``` -## Trouble shooting installation +## Troubleshooting installation + +If `pak::pkg_install()` throws an error, try +`remotes::install_github("nationalparkservice/NPSdataverse")` instead. Each package within the NPSdataverse has a number of dependencies, most of which are hosted on CRAN. During the initial install of NPSdataverse, diff --git a/docs/404.html b/docs/404.html index 4d943e0..05738c9 100644 --- a/docs/404.html +++ b/docs/404.html @@ -91,7 +91,7 @@

Page not found (404)

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/LICENSE-text.html b/docs/LICENSE-text.html index 5841a65..4c2df82 100644 --- a/docs/LICENSE-text.html +++ b/docs/LICENSE-text.html @@ -68,7 +68,7 @@

License

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 222cb04..b2dfbfe 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -72,7 +72,7 @@

MIT License

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/articles/NPSdataverse.html b/docs/articles/NPSdataverse.html index 76f93f8..7620a20 100644 --- a/docs/articles/NPSdataverse.html +++ b/docs/articles/NPSdataverse.html @@ -193,7 +193,7 @@

References
Baker, Robert, Judd Patterson, and Joe DeVivo. 2025. NPSdataverse: -Tools and Packages for Data and Metadata Manipulation. https://github.com/nationalparkservice/NPSdataverse. +Tools and Packages for Data and Metadata Manipulation. https://doi.org/10.57830/2313107.
Boettiger, Carl. 2019. “Ecological Metadata as Linked @@ -286,7 +286,7 @@

References

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/articles/index.html b/docs/articles/index.html index 481b080..5c847d4 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -65,7 +65,7 @@

All vignettes

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/authors.html b/docs/authors.html index 22c8777..74ffcf6 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -95,7 +95,7 @@

Citation

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/index.html b/docs/index.html index 73575b8..7ef9550 100644 --- a/docs/index.html +++ b/docs/index.html @@ -129,8 +129,9 @@

Usage library(NPSdataverse)
-

Trouble shooting installation +

Troubleshooting installation

+

If pak::pkg_install() throws an error, try remotes::install_github("nationalparkservice/NPSdataverse") instead.

Each package within the NPSdataverse has a number of dependencies, most of which are hosted on CRAN. During the initial install of NPSdataverse, you may be prompted to install or update these dependencies. The initial installation can take some time and require multiple iterative package updates/installs. Depending on how they were initially installed, some dependent packages may fail update or to install. In this case you can try running

@@ -188,9 +189,9 @@

Citation

Developers

    -
  • Robert Baker
    Author, maintainer
  • -
  • Judd Patterson
    Author
  • -
  • Joe DeVivo
    Author
  • +
  • Robert Baker
    Author, maintainer
  • +
  • Judd Patterson
    Author
  • +
  • Joe DeVivo
    Author
@@ -213,7 +214,7 @@

Dev status

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/news/index.html b/docs/news/index.html index fcbc5ad..92b3c51 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -95,7 +95,7 @@
-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/paper.html b/docs/paper.html index 9d42d49..8fc4520 100644 --- a/docs/paper.html +++ b/docs/paper.html @@ -52,24 +52,24 @@

Summary

-

The NPSdataverse is a suite of R packages developed to create, document, publish, and access data and metadata in open and machine-readable formats.NPSdataverse is modeled off of the tidyverse concept of several packages built with a common goal [@Wickham2019].The NPSdataverse supports Ecological Metadata Language (EML) metadata and .csv data files. Some of the constituent R packages (EML and EMLassemblyline) are general-use and aimed at authoring EML documents. Other R packages (QCkit, EMLeditor, DPchecker and NPSutils) are designed and maintained by the National Park Service (NPS).Although many functions within the NPSdataverse packages are NPS-specific (particularly some API calls), whenever possible the functions are written so that they can also be used by the general public. Scientists conducting permitted research in NPS units can utilize the NPSdataverse to efficiently and consistently meet the data delivery requirements of their permits. Additionally, the packages will be useful for data management plans in a wide variety of grant proposals and for anyone that needs to create open data and machine-readable metadata. The ability to swiftly and easily author, edit, and check Ecological Metadata Language (EML) metadata in a reproducible fashion will be useful for data publication at any number of repositories or data journals. Finally, a scripted interface for downloading NPS data and leveraging metadata while loading it into R or other platforms for subsequent analyses and visualizations will be useful to researchers in the government, academia, and industry as well as the public.

+

The NPSdataverse is a suite of R packages developed to create, document, publish, and access data and metadata in open and machine-readable formats. NPSdataverse is modeled off of the tidyverse concept of several packages built with a common goal [@Wickham2019]. The NPSdataverse supports Ecological Metadata Language (EML) metadata and .csv data files. Some of the constituent R packages (EML and EMLassemblyline) are general-use and aimed at authoring EML documents. Other R packages (QCkit, EMLeditor, DPchecker and NPSutils) are designed and maintained by the National Park Service (NPS). Although many functions within the NPSdataverse packages are NPS-specific (particularly some API calls), whenever possible the functions are written so that they can also be used by the general public. Scientists conducting permitted research in NPS units can utilize the NPSdataverse to efficiently and consistently meet the data delivery requirements of their permits. Additionally, the packages will be useful for data management plans in a wide variety of grant proposals and for anyone that needs to create open data and machine-readable metadata. The ability to swiftly and easily author, edit, and check Ecological Metadata Language (EML) metadata in a reproducible fashion will be useful for data publication at any number of repositories or data journals. Finally, a scripted interface for downloading NPS data and leveraging metadata while loading it into R or other platforms for subsequent analyses and visualizations will be useful to researchers in the government, academia, and industry as well as the public.

Statement of Need

Following a movement for transparency in scientific research and data accessibility, the U.S. implemented the federal OPEN Government Data Act [@OpenData2018]. The Open Data Act mandates that federal agencies provide data in open formats with metadata. Subsequently, many funding agencies such as the National Science Foundation have required grant awardees make their data public, often including metadata [@nsf2015]. Multiple publishers have followed suit [@Wiley2022; @Springer2023] and require data availability statements upon publication.

One goal of open science, and requirement of the recent “Nelson Memo” from the U.S. Office of Science and Technology Policy [@Nelson2022] is to make data FAIR: findable, inter-operable, accessible, and reuseable [@Wilkinson2016]. These goals are often achieved by including structured, machine-readable metadata that conforms to a defined schema along with the data. Ecological Metadata Language Metadata (EML) is one metadata standard that is particularly amenable to studies with rich taxonomy [@Jones2006; @EML2019]. It has been adopted by multiple research organizations including the Ecological Data Initiative (EDI), National Ecological Observatory Network (NEON), Global Biodiversity Information Facility (GBIF), Swedish Biodiversity Data Infrastructure (SBDI), French Biodiversity Hub (“Pole National de Donnees de Biodiversite”), U.S. National Park Service, and others.

-

Nevertheless, actual availability of data and metadata varies [@Federer2018; @Tedersoo2021], perhaps because there is a need for more infrastructure and tools to meet the goals of open data and open science [@Huston2019]. Multiple solutions have been presented, including ezEML, a tool for authoring metadata in Ecological Metadata Language and publishing data and metadata to a repository [@Vanderbilt2022]. ezEML has an intuitive graphical user interface with a relatively low learning curve; however, it does have some drawbacks. For instance, ezEML is not scriptable, which makes repeated deployments of the same or similar workflows challenging and can limit reproducibility. ezEML also requires that the user upload their data to an external site for processing, which may not be suitable for sensitive data. Here we introduce the NPSdataverse, a series of R packages for authoring, editing, and checking EML metadata locally in a robust, repeatable, and scriptable fashion. R Packages within the NPSdataverse leverage earlier work using R to create and manipulate XML based EML files [@Boettiger2019]. Building upon that framework, we add user-friendly EML creation workflows; integration with taxonomic databases; fast, easy editing of existing metadata; congruence checks to test correspondence between data and metadata; and integration with public repositories such as the National Park Service’s DataStore. R packages within the NPSdataverse also include functions that expedite data quality control, facilitate data interoperability, provide the ability to download data directly from DataStore, and leverage the rich EML associated with the data regardless of repository of origin.

+

Nevertheless, actual availability of data and metadata varies [@Federer2018; @Tedersoo2021], perhaps because there is a need for more infrastructure and tools to meet the goals of open data and open science [@Huston2019]. Multiple solutions have been presented, including ezEML, a tool for authoring metadata in Ecological Metadata Language and publishing data and metadata to a repository [@Vanderbilt2022]. ezEML has an intuitive graphical user interface with a relatively low learning curve; however, it does have some drawbacks. For instance, ezEML is not scriptable, which makes repeated deployments of the same or similar workflows challenging and can limit reproducibility. ezEML also requires that the user upload their data to an external site for processing, which may not be suitable for sensitive data. Here we introduce the NPSdataverse, a series of R packages for authoring, editing, and checking EML metadata locally in a robust, repeatable, and scriptable fashion. R packages within the NPSdataverse leverage earlier work using R to create and manipulate XML based EML files [@Boettiger2019]. Building upon that framework, we add user-friendly EML creation workflows; integration with taxonomic databases; fast, easy editing of existing metadata; congruence checks to test correspondence between data and metadata; and integration with public repositories such as the National Park Service’s DataStore. R packages within the NPSdataverse also include functions that expedite data quality control, facilitate data interoperability, provide the ability to download data directly from DataStore, and leverage the rich EML associated with the data regardless of repository of origin.

NPSdataverse R package

-

The NPSdataverse package is a meta-package that loads packages within the NPSdataverse into R [@Baker_NPSdataverse2025]. The NPSdataverse provides a convenient way to download, install, and load many of the R packages needed to create and access data packages, which consist of rich Ecological Metadata Language metadata and .csv data files:

+

The NPSdataverse package is a meta-package that loads packages within the NPSdataverse into R [@Baker_NPSdataverse2025]. NPSdataverse provides a convenient way to download, install, and load many of the R packages needed to create and access data packages, which consist of rich Ecological Metadata Language metadata and .csv data files:

pak::pkg_install("nationalparkservice/NPSdataverse")
 library(NPSdataverse)

NPSdataverse will automatically check that the latest version of each R package is being loaded: either from the main development branch on GitHub.com or the latest version on CRAN. If updates are indicated, the user will be alerted and given instructions on how to update the relevant packages. To prevent API limits at GitHub (and to facilitate scripted workflows such as those at High Performance Computing facilities), NPSdataverse only checks for updates from an interactive R session and will skip checks when the system is not on-line or GitHub.com is not responding.

QCkit R package

-

QCkit (“Quality Control kit”) is primarily a data processing package designed to prepare data for metadata creation and publication [@Baker_QCkit2025]. This package serves two main functions: 1) Providing a suite of data quality control functions to be used across datasets regardless of the project, and 2) a suite of functions to apply data standards that promotes interoperability among datasets. For instance, QCkit includes functions that can help manage date-time formatting, can check data files for threatened or endangered species, and can help increase inter-operability by suggesting appropriate Darwin Core standards for naming data. QCkit also facilitates documenting data processing with functions that can generate a DataStore reference based on GitHub.com releases. The DataStore reference can hold processing scripts, code, or packages and have Digital Object Identifiers (DOIs) attached to them that are registered with DataCite once the DataStore reference is activated. QCkit is designed as an expandable framework that can adapt to new quality control tests or as new data standards are adopted.

+

The QCkit (“Quality Control kit”) package is primarily a data processing package designed to prepare data for metadata creation and publication [@Baker_QCkit2025]. This package serves two main functions: 1) Providing a suite of data quality control functions to be used across datasets regardless of the project, and 2) a suite of functions to apply data standards that promotes interoperability among datasets. For instance, QCkit includes functions that can help manage date-time formatting, can check data files for threatened or endangered species, and can help increase inter-operability by suggesting appropriate Darwin Core standards for naming data. QCkit also facilitates documenting data processing with functions that can generate a DataStore reference based on GitHub.com releases. The DataStore reference can hold processing scripts, code, or packages and have Digital Object Identifiers (DOIs) attached to them that are registered with DataCite once the DataStore reference is activated. QCkit is designed as an expandable framework that can adapt to new quality control tests or as new data standards are adopted.

EML R package

@@ -81,7 +81,7 @@

EMLassembyline R package

EMLeditor R package

-

The EMLeditor package allows users to quickly and easily view components of metadata in R and make on-the-fly edits to metadata [@Baker_EMLeditor2025]. Edits made to EML objects using EMLeditor do not require re-running the EMLassemblyline functions to make EML. This is a significant improvement because running EMLassemblyline functions can be time consuming, especially if there are many taxa that need to be resolved. EMLeditor includes the ability to pick specific licenses (CC0, CC-BY, etc), add ORCIDs, include organizations as authors, and much more. EMLeditor also adds specific content necessary to be compliant with NPS’s DataStore. With the proper permissions, EMLeditor can be used to generate draft references and reserve DOIs on DataStore as well as upload data and metadata files to DataStore. Finally, EMLeditor contains a .rmd template file that, after loading the package, is accessible in Rstudio under Files > New File > R markdown. The template provides an editable script that walks the user through using EMLassemblyline, EMLeditor, and DPchecker to create and validate EML metadata in R.

+

The EMLeditor package allows users to quickly and easily view components of metadata in R and make on-the-fly edits to metadata [@Baker_EMLeditor2025]. Edits made to EML objects using EMLeditor do not require re-running the EMLassemblyline functions to make EML. This is a significant improvement because running EMLassemblyline functions can be time consuming, especially if there are many taxa that need to be resolved. EMLeditor includes the ability to pick specific licenses (CC0, CC-BY, etc.), add ORCIDs, include organizations as authors, and much more. EMLeditor also adds specific content necessary to be compliant with NPS’s DataStore. With the proper permissions, EMLeditor can be used to generate draft references and reserve DOIs on DataStore as well as upload data and metadata files to DataStore. Finally, EMLeditor contains a .rmd template file that, after loading the package, is accessible in Rstudio under Files > New File > R markdown. The template provides an editable script that walks the user through using EMLassemblyline, EMLeditor, and DPchecker to create and validate EML metadata in R.

EMLeditor “set” class functions (which includes all functions that begin with “set_” such as “EMLeditor::set_abstract()”) will add several NPS-specific items to the metadata using their default settings. For instance, these functions will set NPS as the publisher, Fort Collins as the publication location, and will add a “for or by NPS = TRUE” statement to the metadata. To invoke these functions without adding the NPS-specific metadata elements, set the parameter NPS = FALSE when calling each “set_” class function. Non-NPS publisher information can be added using the EMLeditor::set_publisher() function with the parameters for_or_by_NPS and NPS set to FALSE:

#set the abstract without NPS-specific information:
 
@@ -137,7 +137,7 @@ 

NPSutils R Package

Acknowledgements

We acknowledge contributions from across the National Park Service, but in particular from the Inventory and Monitoring Division. Members of the NPS Long Term Data Management Governance Board provided critical guidance and insight (in addition to several of the authors, these include Kristen Bonebrake, Adam Kozlowski, Ryan Monello, Mark Isley, and Megan Swan). Justin Mills (currently at U.S. Fish and Wildlife Service) and Derrick Dardano helped with navigating API and Active Directory interfaces, Marsha Leavitt made and explained numerous updates to DataStore. Dan Gussett, Kate Miller, and Pete Budde facilitated software availability, and Meg White supported and endorsed the project. We are particularly indebted to our strong user base and their very helpful feedback including Alison Loar, Christina Appleby, Kirk Sherrill, Lisa Nelson and Tom Phillipi. Numerous Student Conservation Association interns made contributions to the code base including Sarah Kelso, James Brown, and Amy Sherman. Alissa Graff (currently at the Internal Revenue Service) provided important input on early versions of NPSutils.

-

Views, statements, findings, conclusions, recommendations, and data in this report do not necessarily reflect views and policies of the National Park Service or U.S. Department of the Interior. Mention of trade names or commercial products does not constitute endorsement or recommendation for use by the U.S. Government.s

+

Views, statements, findings, conclusions, recommendations, and data in this report do not necessarily reflect views and policies of the National Park Service or U.S. Department of the Interior. Mention of trade names or commercial products does not constitute endorsement or recommendation for use by the U.S. Government.

References

@@ -159,7 +159,7 @@

References -

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/pkgdown.yml b/docs/pkgdown.yml index aeea8f3..b32c80c 100644 --- a/docs/pkgdown.yml +++ b/docs/pkgdown.yml @@ -1,6 +1,6 @@ pandoc: '3.4' -pkgdown: 2.1.1 +pkgdown: 2.1.2 pkgdown_sha: ~ articles: NPSdataverse: NPSdataverse.html -last_built: 2025-05-19T15:19Z +last_built: 2025-07-14T22:58Z diff --git a/docs/reference/NPSdataverse_packages.html b/docs/reference/NPSdataverse_packages.html index 823669f..884e1df 100644 --- a/docs/reference/NPSdataverse_packages.html +++ b/docs/reference/NPSdataverse_packages.html @@ -80,7 +80,7 @@

Examples

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/reference/detach_NPSdataverse.html b/docs/reference/detach_NPSdataverse.html index 59e6784..f3e3993 100644 --- a/docs/reference/detach_NPSdataverse.html +++ b/docs/reference/detach_NPSdataverse.html @@ -83,7 +83,7 @@

Examples

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/reference/dot-update_git_repos.html b/docs/reference/dot-update_git_repos.html index 75e9f11..822710e 100644 --- a/docs/reference/dot-update_git_repos.html +++ b/docs/reference/dot-update_git_repos.html @@ -76,7 +76,7 @@

Value

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/reference/index.html b/docs/reference/index.html index a875f13..c6fa78a 100644 --- a/docs/reference/index.html +++ b/docs/reference/index.html @@ -78,7 +78,7 @@

All functions
-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.

diff --git a/docs/reference/is_online.html b/docs/reference/is_online.html index 86119f4..6ad148a 100644 --- a/docs/reference/is_online.html +++ b/docs/reference/is_online.html @@ -90,7 +90,7 @@

Examples

-

Site built with pkgdown 2.1.1.

+

Site built with pkgdown 2.1.2.