3 min read

Beginners Guide to R Package Ecosystem

Introduction

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

CRAN

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

install.packages('ggplot2')

GitHub

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:

devtools::install_github("tidyverse/ggplot2")
remotes::install_github("tidyverse/dplyr")

BitBucket

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

devtools::install_bitbucket("dannavarro/lsr-package")
remotes::install_bitbucket("dannavarro/lsr-package")

Bioconductor

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

devtools

Use install_bioc() from devtools.

install_bioc("SummarizedExperiment")
biocLite

Use biocLite() function.

source('http://bioconductor.org/biocLite.R')
biocLite('GenomicFeatures')

rForge

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

install.packages('quantstrat', repos = 'https://r-forge.r-project.org/')

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:

remotes::install_github('tidyverse/dplyr@*release')

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().

.libPaths()
## [1] "C:/Users/HP/Documents/R/win-library" "C:/Program Files/R/R-4.0.0/library"

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

Install
install.packages('stringr', lib.loc = "C:/Program Files/R/R-3.4.1/library")
Load
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")