Installing R packages
Link to section 'Challenges of Managing R Packages in the Cluster Environment' of 'Installing R packages' Challenges of Managing R Packages in the Cluster Environment
- Different clusters have different hardware and softwares. So, if you have access to multiple clusters, you must install your R packages separately for each cluster.
- Each cluster has multiple versions of R and packages installed with one version of R may not work with another version of R. So, libraries for each R version must be installed in a separate directory.
- You can define the directory where your R packages will be installed using the environment variable
- For your convenience, a sample ~/.Rprofile example file is provided that can be downloaded to your cluster account and renamed into
~/.Rprofile(or appended to one) to customize your installation preferences. Detailed instructions.
Link to section 'Installing Packages' of 'Installing R packages' Installing Packages
Step 0: Set up installation preferences.
Follow the steps for setting up your
~/.Rprofilepreferences. This step needs to be done only once. If you have created a
~/.Rprofilefile previously on Bell, ignore this step.
Step 1: Check if the package is already installed.
As part of the R installations on community clusters, a lot of R libraries are pre-installed. You can check if your package is already installed by opening an R terminal and entering the command
installed.packages(). For example,
module load r/4.1.2 R
installed.packages()["units",c("Package","Version")] Package Version "units" "0.6-3" quit()
If the package you are trying to use is already installed, simply load the library, e.g.,
library('units'). Otherwise, move to the next step to install the package.
Step 2: Load required dependencies. (if needed)
For simple packages you may not need this step. However, some R packages depend on other libraries. For example, the
sfpackage depends on
geoslibraries. So, you will need to load the corresponding modules before installing
sf. Read the documentation for the package to identify which modules should be loaded.
module load gdal module load geos
Step 3: Install the package.
Now install the desired package using the command
install.packages('package_name'). R will automatically download the package and all its dependencies from CRAN and install each one. Your terminal will show the build progress and eventually show whether the package was installed successfully or not.
install.packages('sf', repos="https://cran.case.edu/") Installing package into ‘/home/myusername/R/bell/4.0.0’ (as ‘lib’ is unspecified) trying URL 'https://cran.case.edu/src/contrib/sf_0.9-7.tar.gz' Content type 'application/x-gzip' length 4203095 bytes (4.0 MB) ================================================== downloaded 4.0 MB ... ... more progress messages ... ... ** testing if installed package can be loaded from final location ** testing if installed package keeps a record of temporary installation path * DONE (sf) The downloaded source packages are in ‘/tmp/RtmpSVAGio/downloaded_packages’
- Step 4: Troubleshooting. (if needed)
If Step 3 ended with an error, you need to investigate why the build failed. Most common reason for build failure is not loading the necessary modules.
Link to section 'Loading Libraries' of 'Installing R packages' Loading Libraries
Once you have packages installed you can load them with the
library() function as shown below:
The package is now installed and loaded and ready to be used in R.
Link to section 'Example: Installing dplyr' of 'Installing R packages' Example: Installing
The following demonstrates installing the
dplyr package assuming the above-mentioned custom
~/.Rprofile is in place (note its effect in the "Installing package into" information message):
module load r R
install.packages('dplyr', repos="http://ftp.ussg.iu.edu/CRAN/") Installing package into ‘/home/myusername/R/bell/4.0.0’ (as ‘lib’ is unspecified) ... also installing the dependencies 'crayon', 'utf8', 'bindr', 'cli', 'pillar', 'assertthat', 'bindrcpp', 'glue', 'pkgconfig', 'rlang', 'Rcpp', 'tibble', 'BH', 'plogr' ... ... ... The downloaded source packages are in '/tmp/RtmpHMzm9z/downloaded_packages' library(dplyr) Attaching package: 'dplyr'
For more information about installing R packages: