Hosting Data Packages via drat: A Case Study with Hurricane Exposure Data

Data-only packages offer a way to provide extended functionality for other R users. However, such packages can be large enough to exceed the package size limit (5 megabytes) for the Comprehen sive R Archive Network (CRAN). As an alternative, large data packages can be posted to additional repostiories beyond CRAN itself in a way that allows smaller code packages on CRAN to access and use the data. The drat package facilitates creation and use of such alternative repositories and makes it particularly simple to host them via GitHub. CRAN packages can draw on packages posted to drat repositories through the use of the ‘Additonal_repositories’ field in the DESCRIPTION file. This paper describes how R users can create a suite of coordinated packages, in which larger data packages are hosted in an alternative repository created with drat, while a smaller code package that interacts with this data is created that can be submitted to CRAN.

G. Brooke Anderson , Dirk Eddelbuettel
2017-05-10

CRAN packages used

NMMAPSlite, stashR, rnoaa, tigris, UScensus2000, drat, grattan, hurricaneexposure, devtools, rcmdcheck, git2r, littler, knitr, roxygen2

CRAN Task Views implied by cited packages

ReproducibleResearch, WebTechnologies

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".

Citation

For attribution, please cite this work as

Anderson & Eddelbuettel, "Hosting Data Packages via drat: A Case Study with Hurricane Exposure Data", The R Journal, 2017

BibTeX citation

@article{RJ-2017-026,
  author = {Anderson, G. Brooke and Eddelbuettel, Dirk},
  title = {Hosting Data Packages via drat: A Case Study with Hurricane Exposure Data},
  journal = {The R Journal},
  year = {2017},
  note = {https://doi.org/10.32614/RJ-2017-026},
  doi = {10.32614/RJ-2017-026},
  volume = {9},
  issue = {1},
  issn = {2073-4859},
  pages = {486-497}
}