R script in batch
matmul.R script
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
matmul.qs file
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