Who Did What? The Roles of R Package Authors and How to Refer to Them

Computational infrastructure for representing persons and citations has been available in R for several years, but has been restructured through enhanced classes “person” and “bibentry” in recent versions of R. The new features include support for the specification of the roles of package authors (e.g. maintainer, author, contributor, translator, etc.) and more flexible formatting/printing tools among various other improvements. Here, we introduce the new classes and their methods and indicate how this functionality is employed in the management of R packages. Specifically, we show how the authors of R packages can be specified along with their roles in package ‘DESCRIPTION’ and/or ‘CITATION’ files and the citations produced from it. R packages are the result of scholarly activity and as such constitute scholarly resources which must be clearly identifiable for the respective scientific communities and, more generally, today’s information society. In particular, packages published by standard repositories can be regarded as reliable sources which can and should be referenced (i.e. cited) by scientific works such as articles or other packages. This requires conceptual frameworks and computational infrastructure for describing bibliographic resources, general enough to encompass the needs of communities with an interest in R. These needs include support for exporting bibliographic metadata in standardized formats such as BIBTEX (Berry and Patashnik, 2010), but also facilitating bibliometric analyses and investigations of the social fabric underlying the creation of scholarly knowledge. The latter requires a richer vocabulary than commonly employed by reference management software such as BIBTEX, identifying persons and their roles in relation to bibliographic resources. For example, a thesis typically has an author and advisors. Software can have an (original) author and a translator to another language (such as from S to R). The maintainer of an R package is not necessarily an author. In this paper, we introduce the base R infrastructure (as completely available in R since version 2.14.0) for representing and manipulating such scholarly data: objects of class “person” (hereafter, per son objects) hold information about persons, possibly including their roles; objects of class “bibentry” (hereafter, bibentry objects) hold bibliographic information in enhanced BIBTEX style, ideally using person objects when referring to persons (such as authors or editors). Furthermore, we indicate how this functionality is employed in the management of R packages, in particular in their ‘CITATION’ and ‘DESCRIPTION’ files.

Kurt Hornik , Duncan Murdoch , Achim Zeileis

CRAN packages used

boot, bibtex, XML

CRAN Task Views implied by cited packages

Econometrics, Optimization, ReproducibleResearch, SocialSciences, Survival, TimeSeries, WebTechnologies


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

Hornik, et al., "The R Journal: Who Did What? The Roles of R Package Authors and How to Refer to Them", The R Journal, 2012

BibTeX citation

  author = {Hornik, Kurt and Murdoch, Duncan and Zeileis, Achim},
  title = {The R Journal: Who Did What? The Roles of R Package Authors and How to Refer to Them},
  journal = {The R Journal},
  year = {2012},
  note = {https://doi.org/10.32614/RJ-2012-009},
  doi = {10.32614/RJ-2012-009},
  volume = {4},
  issue = {1},
  issn = {2073-4859},
  pages = {64-69}