software:r:r-simple

R script in batch

Consider the simple R script file to multiply a small 3x3 matrix

matmul.R
# Calculate and print small matrix AA'
a <- matrix(1:12,3,4);
a%*%t(a)

Let's test this R script using Rscript from the command line on a compute node. Don't forget to set your workgroup to define your cluster group or investing-entity compute nodes before you use qlogin to get on a compute node. For example,

workgroup -g it_css
qlogin
vpkg_require r/3
Rscript matmul.R

The output to the screen:

     [,1] [,2] [,3]
[1,]  166  188  210
[2,]  188  214  240
[3,]  210  240  270

To return to the head node, type

exit

To run a R script in batch instead of on the command line has nearly the same steps. Consider the queue submission script file:

#$ -N matmultiply
 
# Add vpkg_require commands after this line:
vpkg_require r/3
 
# Syntax: Rscript [options] filename.R [arguments]
Rscript matmul.R 

Now to run the R script simply submit the job from the head node with the qsub command.

qsub matmul.qs

You should see a notification that your job was submitted. Something like this

Your job 2283886 ("matmultiply") has been submitted

After the code completes the output of the script will appear in the file matmultiply.o2283886 because -N matmultiply defines the name of the job in matmul.qs and appears in the notification above as ("matmultiply") with 2283886 assigned as the job ID. Type

more matmultiply.o2283886

to display the contents of the output file on the screen. For example,

Adding dependency `x11/RHEL6.1` to your environment
Adding package `r/3.0.2` to your environment
     [,1] [,2] [,3]
[1,]  166  188  210
[2,]  188  214  240
[3,]  210  240  270
  • software/r/r-simple.txt
  • Last modified: 2017-10-23 22:04
  • by sraskar