Beginners Guide to R Package Ecosystem

Beginners Guide to R Package System.


In the previous post, we learnt about getting help in R. In this post, we will learn about R packages. Packages are fundamental to R. There are approximately 15000 packages available on CRAN or the Comprehensive R Archive Network.

Packages are available for different topics. You should always look for a package before writing code from scratch. In case you have written your own codes for a new analysis or topic, do share it with the R community by converting the code into a package. You can learn more about building R packages from R Packages, a book written by Hadley Wickham.

In this post, we will learn to:

  • install R packages from
    • CRAN
    • GitHub
    • BitBucket
    • Bioconductor
    • rForge
  • install different versions of a package
  • load, update & remove installed packages
  • access package documentation

Install Packages


Packages from CRAN can be installed using install.packages(). The name of the package must be enclosed in single or double quotes.



Some R packages are made available on GitHub before releasing them on CRAN. Such packages can be installed using install_github() from devtools or remotes package. You need tp specify the name of the repository and the package. For example, to download ggplot2 or dplyr, below is the code:



Bitbucket is similar to GitHub. You can install packages from Bitbucket using install_bitbucket() from devtools or remotes pacakge.



Bioconductor provides tools for analysis and comprehension of high throughput genomic data. Packages hosted on Bioconductor can be installed in multiple ways:


Use install_bioc() from devtools.


Use biocLite() function.



Many R packages are hosted at R-Forge, a platform for development of R packages.

install.packages('quantstrat', repos = '')

Install Different Versions

Now that we have learnt how to install packages, let us look at installing different versions of the same package.

remotes::install_version('dplyr', version = 0.5.0)

If you want to install the latest release from GitHub, append @*release to the repository name. For example, to install the latest release of dplyr:


Installed Packages

  • installed.packages(): view currently installed packages
  • library('package_name'): load packages
  • autoload('function_name', 'package_name'): load functions and data from packages only when called in the script
  • available.package(): packages available for installation
  • old.packages(): packages which have new versions available
  • new.packages(): packages already not installed
  • update.packages(): update packages which have new versions
  • remove.packages('package_name'): remove installed packages

Library Paths

Library is a directory that contains all installed packages. Usually there will be more than one R library in your systme. You can find the location of the libraries using .libPaths().

## [1] "C:/Users/HP/Documents/R/win-library"
## [2] "C:/Program Files/R/R-3.5.1/library"

You can use lib.loc when you want to install, load, update and remove packages from a particular library.

install.packages('stringr', lib.loc = "C:/Program Files/R/R-3.4.1/library")
library(lubridate, lib.loc = "C:/Program Files/R/R-3.4.1/library")
Update Packages
update.packages(lib.loc = "C:/Program Files/R/R-3.4.1/library")
Remove Packages
remove.packages(lib.loc = "C:/Program Files/R/R-3.4.1/library")
comments powered by Disqus