Chapter 10 Install & Update R Packages

10.1 Introduction

In this chapter, 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 chapter, 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

10.2 Install Packages

10.2.1 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')

10.2.2 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")

10.2.3 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")

10.2.4 Bioconductor

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

10.2.4.1 devtools

Use install_bioc() from devtools.

install_bioc("SummarizedExperiment")

10.2.4.2 biocLite

Use biocLite() function.

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

10.2.5 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/')

10.3 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')

10.4 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

10.5 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.1.0/library"

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

10.5.1 Install

install.packages('stringr', lib.loc = "C:/Program Files/R/R-3.4.1/library")

10.5.2 Load

library(lubridate, lib.loc = "C:/Program Files/R/R-3.4.1/library")

10.5.3 Update Packages

update.packages(lib.loc = "C:/Program Files/R/R-3.4.1/library")

10.5.4 Remove Packages

remove.packages(lib.loc = "C:/Program Files/R/R-3.4.1/library")