Difference between r-base and r-recommended packages
Solution 1
The difference actually comes from R Core and the way the R code is organised, for example in the upstream SVN repository.
In src/library/
, you have all 'base' packages:
- base
- compiler
- datasets
- graphics
- grDevices
- grid
- methods
- parallel
- splines
- stats
- stats4
- tcltk
- tools
- translations
- utils.
And none of these are on CRAN -- they only exist as part of 'base R'.
And you have a directory src/library/Recommended
which by default is empty, but can be filled by using a helper script (tools/rsync-recommended
) to get the list of Recommended packages off CRAN from a special (versioned) directory. For R version 3.3.3, it is
CRAN/src/contrib/3.3.3/Recommended/ (with the CRAN part being your default mirror). It contains
- KernSmooth
- MASS
- Matrix
- boot
- class
- cluster
- codetools
- foreign
- lattice
- mgcv
- nlme
- nnet
- rpart
- spatial
- survival
Edit 2016-09-06: Added utils
to first set.
Solution 2
I'd like to answer from a slightly different perspective, and with functions rather than links. If Priority is "base", then the package is already installed and loaded, so all of its functions are available upon opening R. If Priority is "recommended", then the package was installed with base R, but not loaded. Before using the commands from this package, the user will have to load it with the library command, e.g. library(boot).
As to the links, installed.packages()
with a filter for Priority should list all the packages that are installed and loaded (base) or just installed (recommended), so you don't really need any links.
x <- installed.packages()
x[ !is.na(x[ ,"Priority"]), c("Package", "Priority") ]
For all other packages, see available.packages()
. See this link for details.
Solution 3
I am guessing that you are talking about installing R on Linux.
This is documented in the installation instructions for (for example) Debian. You can find this at http://cran.csiro.au/bin/linux/debian/
Quoting from this page:
The r-recommended set of packages are:
r-cran-boot
r-cran-cluster
r-cran-class
r-cran-codetools
r-cran-foreign
r-cran-kernsmooth
r-cran-lattice
r-cran-mass
r-cran-matrix
r-cran-mgcv
r-cran-nlme
r-cran-nnet
r-cran-rmatrix
r-cran-rpart
r-cran-spatial
r-cran-survival
Solution 4
This R command returns the names of all the base packages:
names(which(installed.packages()[ ,"Priority"] == "base", ))
# [1] "base" "compiler" "datasets" "graphics" "grDevices" "grid"
# [7] "methods" "parallel" "splines" "stats" "stats4" "tcltk"
# [13] "tools" "utils"
And this R command returns the names of all the recommended packages:
names(which(available.packages(repos = c(CRAN = "https://cran.r-project.org"))[ ,"Priority"] == "recommended", ))
# [1] "boot" "class" "cluster" "codetools" "foreign"
# [6] "KernSmooth" "lattice" "MASS" "Matrix" "mgcv"
# [11] "nlme" "nnet" "rpart" "spatial" "survival"
Related videos on Youtube
jan5
Updated on June 03, 2022Comments
-
jan5 almost 2 years
Can anyone tell me what is the difference between base and recommended packages.
If there is link where base and recommended packages are mentioned please provide the links.
-
Dirk Eddelbuettel about 12 yearsThat's the Debian name mapping we use. My answer has the actual names.
-
Brian Diggs about 12 yearsImplicit in this organization is that base packages are only updated with releases of R; there is a one-to-one relationship between versions of the base packages and versions of R. Recommended packages, since they are hosted on CRAN, can be and are updated between releases of R.
-
Dirk Eddelbuettel about 12 yearsCorrect. And because Recommended packages on CRAN may 'move ahead' of a given R version, the rsync script I mentioned synchronises with a given set of Recommended packages picked for this R release to minimize any surprises coming from, say, older R and newer CRAN.
-
zx8754 over 6 yearsNot all base packages are loaded. Open a new R session, run
sessionInfo()
, and we will see that onlystats graphics grDevices utils datasets methods base
packages are attached. -
zx8754 over 6 yearsAlso, the weblink to
details
is broken.