Possible Directions for Improving Dependency Versioning in R

One of the most powerful features of R is its infrastructure for contributed code. The built-in package manager and complementary repositories provide a great system for development and exchange of code, and have played an important role in the growth of the platform towards the de-facto standard in statistical computing that it is today. However, the number of packages on CRAN and other repositories has increased beyond what might have been foreseen, and is revealing some limitations of the current design. One such problem is the general lack of dependency versioning in the infrastructure. This paper explores this problem in greater detail, and suggests approaches taken by other open source communities that might work for R as well. Three use cases are defined that exemplify the issue, and illustrate how improving this aspect of package management could increase reliability while supporting further growth of the R community.

Jeroen Ooms

CRAN packages used


CRAN Task Views implied by cited packages


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 ...".


For attribution, please cite this work as

Ooms, "The R Journal: Possible Directions for Improving Dependency Versioning in R", The R Journal, 2013

BibTeX citation

  author = {Ooms, Jeroen},
  title = {The R Journal: Possible Directions for Improving Dependency Versioning in R},
  journal = {The R Journal},
  year = {2013},
  note = {https://doi.org/10.32614/RJ-2013-019},
  doi = {10.32614/RJ-2013-019},
  volume = {5},
  issue = {1},
  issn = {2073-4859},
  pages = {197-206}