Adding R programs to a personal library

There are basically two options for creating a personal library of R programs.
  1. Create a library for a version of R in your home directory that makes packages available whenever you run that version of R.
  2. Create isolated environments for each of your R projects with packrat.

Personal Global R Directory

Installing R packages locally is fairly straightforward.

  1. Load the R environment module:
    module load R/3.02
  2. Launch R:
    R
  3. Install the package, using generic package_name here
    install.packages("package_name", repos="http://cran.r-project.org")
  4. If you do not already have a personal library directory for the version of R you are using, you will see a prompt like this:
    Warning in install.packages("package_name", repos = "http://cran.r-project.org") :
    'lib = "/opt/R/3.0.2/lib64/R/library"' is not writable
    Would you like to use a personal library instead?  (y/n)
  5. Select 'y'.
  6. Select 'y' again when prompted to create the directory.
  7. Your package should download and install into the newly created personal library directory.

Packrat Project Directory

Packrat is an R package which allows you to create an isolated and portable environment for each of your R projects. Packrat is available within R environment modules on the Argon HPC cluster beginning with version 3.3.2. For most newer versions of R in modules named like "r-#.#.#*" (starting with version 3.6.2) and provided in stack environment modules named like "YYYY.#*" (starting with 2019.1), the "r-packrat" module is separate and you'll need to load it manually.

You can create a new project and use packrat from the R prompt like so:

  1. Create a directory where you want you want to store the project.
  2. cd to the directory.
  3. Start R.
  4. At the R prompt, initialize the packrat project with
    packrat::init()

From this point on, you are working in a packrat project, and any packages you install will go into a library within this project. To restart an existing packrat project, simply cd to the desired directory (step 2) and start R there (step 3) and the project will load automatically.

Alternately, you you might find it useful to use packrat from your shell. For example:

  1. mkdir ~/someproject
  2. cd ~/someproject
  3. Rscript -e 'packrat::init(enter=FALSE)'

  4. Rscript -e 'install.packages(c("brms","rstanarm"))'