Programming/R
Contents
Programming Details
R is a programming language and software environment for statistical analysis, graphics representation and reporting.
R is freely available under the GNU General Public License, and can be loaded as a module on Viper (with Linux), Windows (PC) and Mac.
- R has versions 3.3.0, 3.4.1 and 3.5.1.
R-Studio is also provided as an interactive session on Viper for R-Studio.
Programming example
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131) y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48) # Apply the lm() function. relation <- lm(y~x) print(relation)
Modules Available
The following modules are available:
- module add R/3.4.1
Batch Mode
The SLURM batch file would typical look like the one below, in this case it would be named 'rscript.job'.
#!/bin/bash #SBATCH -J compute-single-node #SBATCH -N 1 #SBATCH --ntasks-per-node 1 #SBATCH -D /home/pysdlb/CODE_SAMPLES/R #SBATCH -o %N.%j.%a.out #SBATCH -e %N.%j.%a.err #SBATCH -p compute echo $SLURM_JOB_NODELIST module purge module add R/3.4.1 export I_MPI_DEBUG=5 export I_MPI_FABRICS=shm:tmi export I_MPI_FALLBACK=no Rscript r.rsc
To run this on the cluster you would need to invoke the command sbatch rscript.job
Interactive Mode
The program is interpreted by the R runtime program, so compilation does not apply here.
[username@login01 ~]$ module add R/3.4.1 [username@login01 ~]$ R R version 3.4.1 (2017-06-30) -- "Single Candle" Copyright (C) 2017 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. >
Libraries
To show the libraries included type ( within R ) the command : library()
Packages in library ‘/trinity/clustervision/CentOS/7/apps/R/3.3.0/lib64/R/library’: base The R Base Package boot Bootstrap Functions (Originally by Angelo Canty for S) class Functions for Classification cluster "Finding Groups in Data": Cluster Analysis Extended Rousseeuw et al. codetools Code Analysis Tools for R colorspace Color Space Manipulation compiler The R Compiler Package datasets The R Datasets Package dichromat Color Schemes for Dichromats digest Create Compact Hash Digests of R Objects foreign Read Data Stored by Minitab, S, SAS, SPSS, Stata, Systat, Weka, dBase, ... ggplot2 Create Elegant Data Visualisations Using the Grammar of Graphics
Installing Additional Libraries
If you need an additional library installed that would be used by more than just yourself, contact the Viper team on help@hull.ac.uk with the details of the library and the version of R you require it for.
Alternatively, you can install a R library into your own personal library. Within R run the install.packages command with the package you wish to install.
> install.packages("R.matlab") Warning in install.packages("R.matlab") : 'lib = "/trinity/clustervision/CentOS/7/apps/R/3.3.0/lib64/R/library"' is not writable Would you like to use a personal library instead? (y/n) y Would you like to create a personal library ~/R/x86_64-pc-linux-gnu-library/3.3 to install packages into? (y/n) y --- Please select a CRAN mirror for use in this session --- HTTPS CRAN mirror 1: 0-Cloud [https] 2: Algeria [https] 3: Australia (Canberra) [https] 4: Australia (Melbourne) [https] 5: Australia (Perth) [https] 6: Austria [https] 7: Belgium (Ghent) [https] 8: Brazil (RJ) [https] 9: Brazil (SP 1) [https] 10: Bulgaria [https] 11: Canada (MB) [https] 12: Chile 1 [https] 13: Chile 2 [https] 14: China (Beijing) [https] 15: China (Hefei) [https] 16: China (Lanzhou) [https] 17: Colombia (Cali) [https] 18: Czech Republic [https] 19: Denmark [https] 20: France (Lyon 1) [https] 21: France (Lyon 2) [https] 22: France (Marseille) [https] 23: France (Montpellier) [https] 24: France (Paris 2) [https] 25: Germany (Münster) [https] 26: Iceland [https] 27: India [https] 28: Indonesia (Jakarta) [https] 29: Ireland [https] 30: Italy (Padua) [https] 31: Japan (Tokyo) [https] 32: Malaysia [https] 33: Mexico (Mexico City) [https] 34: New Zealand [https] 35: Norway [https] 36: Philippines [https] 37: Russia (Moscow) [https] 38: Serbia [https] 39: Spain (A Coruña) [https] 40: Spain (Madrid) [https] 41: Sweden [https] 42: Switzerland [https] 43: Taiwan (Chungli) [https] 44: Turkey (Denizli) [https] 45: Turkey (Mersin) [https] 46: UK (Bristol) [https] 47: UK (Cambridge) [https] 48: UK (London 1) [https] 49: USA (CA 1) [https] 50: USA (IA) [https] 51: USA (IN) [https] 52: USA (KS) [https] 53: USA (MI 1) [https] 54: USA (OR) [https] 55: USA (TN) [https] 56: USA (TX 1) [https] 57: USA (TX 2) [https] 58: (HTTP mirrors) Selection: 48 also installing the dependencies ‘R.methodsS3’, ‘R.oo’, ‘R.utils’ trying URL 'https://cran.ma.imperial.ac.uk/src/contrib/R.methodsS3_1.7.1.tar.gz' Content type 'unknown' length 25731 bytes (25 KB) ================================================== downloaded 25 KB trying URL 'https://cran.ma.imperial.ac.uk/src/contrib/R.oo_1.21.0.tar.gz' Content type 'unknown' length 403410 bytes (393 KB) ================================================== downloaded 393 KB trying URL 'https://cran.ma.imperial.ac.uk/src/contrib/R.utils_2.5.0.tar.gz' Content type 'unknown' length 389402 bytes (380 KB) ================================================== downloaded 380 KB trying URL 'https://cran.ma.imperial.ac.uk/src/contrib/R.matlab_3.6.1.tar.gz' Content type 'unknown' length 109818 bytes (107 KB) ================================================== downloaded 107 KB * installing *source* package ‘R.methodsS3’ ... ** package ‘R.methodsS3’ successfully unpacked and MD5 sums checked ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (R.methodsS3) * installing *source* package ‘R.oo’ ... ** package ‘R.oo’ successfully unpacked and MD5 sums checked ** R ** inst ** preparing package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (R.oo) * installing *source* package ‘R.utils’ ... ** package ‘R.utils’ successfully unpacked and MD5 sums checked ** R ** inst ** preparing package for lazy loading Warning in setGenericS3.default(name, export = exportGeneric, envir = envir, : Renamed the preexisting function warnings to warnings.default, which was defined in environment base. ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (R.utils) * installing *source* package ‘R.matlab’ ... ** package ‘R.matlab’ successfully unpacked and MD5 sums checked ** R ** inst ** byte-compile and prepare package for lazy loading ** help *** installing help indices ** building package indices ** testing if installed package can be loaded * DONE (R.matlab) The downloaded source packages are in ‘/tmp/RtmpO7iqto/downloaded_packages’
Listing packages installed
If you need a package that will be used frequently email help@hull.ac.uk with your request.
To view those already installed within R
> installed.packages() Package abind "abind" acepack "acepack" ADGofTest "ADGofTest" ape "ape" assertthat "assertthat" backports "backports" base "base" base64enc "base64enc" BH "BH" bindr "bindr" bindrcpp "bindrcpp" Biobase "Biobase" BiocGenerics "BiocGenerics" BiocInstaller "BiocInstaller" bit "bit" bit64 "bit64" ....
Further Information
- https://en.wikipedia.org/wiki/R_(programming_language)
- https://www.udemy.com/r-basics/
- https://www.r-project.org/about.html