R packages are extensions to the R statistical programming language. R packages contain code, data, and documentation in a standardised collection format that can be installed by users of R, typically via a centralised software repository such as CRAN (the Comprehensive R Archive Network).[1][2] The large number of packages available for R, and the ease of installing and using them, has been cited as a major factor driving the widespread adoption of the language in data science.[3][4][5][6]
Compared to libraries in other programming languages, R packages must conform to a relatively strict specification.[3] The Writing R Extensions manual[7] specifies a standard directory structure for R source code, data, documentation, and package metadata, which enables them to be installed and loaded using R's in-built package management tools.[3] Packages distributed on CRAN must meet additional standards.[3][8] According to John Chambers, whilst these requirements "impose considerable demands" on package developers, they improve the usability and long-term stability of packages for end users.[3]
Repositories
Comprehensive R Archive Network (CRAN)
The Comprehensive R Archive Network (CRAN) homepage
The Comprehensive R Archive Network (CRAN) is R's central software repository, supported by the R Foundation.[9] It contains an archive of the latest and previous versions of the R distribution, documentation, and contributed R packages.[10] It includes both source packages and pre-compiledbinaries for Windows and macOS.[11]As of November 2020, more than 16,000 packages are available.[12] CRAN was created by Kurt Hornik and Friedrich Leisch in 1997,[13][14] with the name paralleling other early packing systems such as TeX's CTAN (released 1992) and Perl's CPAN (released 1995).[15]As of 2021, it is still maintained by Hornik and a team of volunteers.[9] The master site is located at the Vienna University of Economics and Business and is mirrored on servers around the world.[10]
The number of CRAN packages has grown exponentially for many years.[18] In 2018, an average of 21 submissions of new or updated packages were made every day;[6] this increased to 20–25 new package submissions each day in 2026.[19] Since each submission is manually reviewed by a small team of CRAN maintainers, there is a concern that this system is not sustainable in the long term.[6] The growth of CRAN has exposed limitations of its dependency management infrastructure, particularly the fact that it assumes that dependencies always refer to the latest version of a package, meaning that new releases of CRAN packages must always be backwards compatible,[20] and that CRAN packages cannot have dependencies that are not on CRAN.[21] It has also led to concerns about declining quality of packages.[22]
MRAN and Posit Package Manager
Homepage for the Microsoft R Application Network (MRAN)
The Microsoft R Application Network (MRAN) is a mirror of CRAN maintained by Microsoft which is based on the company's downstream distribution of R, Microsoft R Open (formerly Revolution R Open).[23] It also includes an archive of daily CRAN snapshots, branded as the "CRAN Time Machine", which enables users of MRAN to bypass the dependency versioning limitations of CRAN by installing a fixed set of R package versions via the package checkpoint.[24][25] In January 2023 Microsoft announced that MRAN was being retired and the associated websites and repositories became unavailable in July 2023.[26]
Homepage for the Posit Package Manager
The Posit Package Manager (formerly RStudio Package Manager) is a similar tool produced by the developers of RStudio which, in addition to CRAN snapshots, includes an archive of R packages from Bioconductor and Python packages from the Python Package Index.[27] It also distributes pre-compiled binary packages for Linux (only Windows and macOS binaries are included on CRAN).[28]
R-Forge,[30] is a central platform for the collaborative development of R packages, R-related software, and projects. R-Forge also hosts many unpublished beta packages, and development versions of CRAN packages.
Base and recommended packages
R is distributed with fifteen "base packages": base, compiler, datasets, grDevices, graphics, grid, methods, parallel, splines, stats, stats4, tcltk, tools, translations, and utils.[31]
In addition, there are fifteen "recommended packages" from CRAN which are included with binary distributions of R: KernSmooth, MASS, Matrix, boot, class, cluster, codetools, foreign, lattice, mgcv, nlme, nnet, rpart, spatial, and survival.[31]
Other packages
A group of packages called the tidyverse, which can be considered a "dialect of the R language", is increasingly popular in the R ecosystem. As of 1 August 2025, Metacran listed 6 of the 8 core packages of the tidyverse in the list of most downloaded R packages.[17] The group of packages strives to provide a cohesive collection of functions to deal with common data science tasks, including data import, cleaning, transformation and visualisation (notably with the ggplot2 package).
The R Infrastructure packages support coding and the development of R packages and as of 1 August 2025, Metacran lists 8 of these packages among the 25 most downloaded packages.[17][32]
Package maintainership
Software engineering studies of the CRAN repository show that package maintainers carry the primary responsibility for long-term code stability, bug resolution, and cross-platform compilation.[33] While the majority of CRAN contributors maintain a single package, a small group of prolific developers maintain dozens of active packages across diverse statistical domains, high-performance computing, and systems infrastructure.[34]
↑Hornik, Kurt (2020-02-20). "Frequently Asked Questions on R". The Comprehensive R Archive Network. 7.29: What is the difference between package and library?. Archived from the original on 2011-07-09. Retrieved 2 November 2020.{{cite web}}: CS1 maint: location (link)
↑Wickham, Hadley; Bryan, Jennifer. "Introduction". R Packages (2nded.). Archived from the original on 2022-06-29. Retrieved 2020-11-02.
12CRAN Repository Maintainers. "CRAN Repository Policy". The Comprehensive R Archive Network. R Project. Archived from the original on 11 November 2020. Retrieved 20 November 2020.
12Hornik, Kurt (2020-02-20). "Frequently Asked Questions on R". The Comprehensive R Archive Network. 2.1: What is CRAN?: R Project. Archived from the original on 2011-07-09. Retrieved 20 November 2020.{{cite web}}: CS1 maint: location (link)
↑CRAN Repository Maintainers. "CRAN - Contributed Packages". The Comprehensive R Archive Network. CRAN. Archived from the original on 24 November 2020. Retrieved 20 November 2020.
12Hornik, Kurt (2020-02-20). "Frequently Asked Questions on R". The Comprehensive R Archive Network. 5.1: Which add-on packages exist for R?. Archived from the original on 2011-07-09. Retrieved 2 November 2020.{{cite web}}: CS1 maint: location (link)
↑Claes, M.; Mens, T.; Grosjean, P. (2014). "On the maintainability of CRAN packages". 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering. pp.308–312. doi:10.1109/CSMR-WCRE.2014.6747183. ISBN978-1-4799-3752-3.
↑Decan, Alexandre; Mens, Tom; Grosjean, Philippe (2019). "An empirical comparison of dependency network evolution in seven software packaging ecosystems". Empirical Software Engineering. 24 (1): 381–416. arXiv:1710.04936. doi:10.1007/s10664-017-9589-y.
You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.