R

From FarmShare

(Difference between revisions)
Jump to: navigation, search
Line 37: Line 37:
Warning: no access to tty (Bad file descriptor).
Warning: no access to tty (Bad file descriptor).
Thus no job control in this shell.
Thus no job control in this shell.
-
 
-
 
Line 49: Line 47:
 +
R is free software and comes with ABSOLUTELY NO WARRANTY.
-
 
-
R is free software and comes with ABSOLUTELY NO WARRANTY.
 
You are welcome to redistribute it under certain conditions.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Type 'license()' or 'licence()' for distribution details.
-
 
-
 
Line 63: Line 58:
Type 'contributors()' for more information and
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.
'citation()' on how to cite R or R packages in publications.
-
 
-
 
Line 71: Line 64:
'help.start()' for an HTML browser interface to help.
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
Type 'q()' to quit R.
-
 
-
 
Line 80: Line 71:
> Sys.sleep(300)
> Sys.sleep(300)
>
>
-
 
</pre>  
</pre>  
Those errors about tty and job control have something to do with shell startup and terminal settings, and are normal. Or specify the 'sh' shell in your job script  
Those errors about tty and job control have something to do with shell startup and terminal settings, and are normal. Or specify the 'sh' shell in your job script  

Revision as of 14:03, 1 February 2012

R Sample Job

Here's an example R file that generates a large array, fills it with some random numbers, then sleeps for 5mins. This happens to use up almost exactly 8GB of RAM.

[chekh@corn-image-new.stanford.edu] /mnt/glusterfs/chekh/R_test [0] 
$ cat 8GB.R 
x <- array(1:1073741824, dim=c(1024,1024,1024)) 
x <- gaussian()
Sys.sleep(300)

Here's an example SGE submit script that runs that R file.

$ cat r_test.script
#!/bin/bash

# use the current directory
#$ -cwd
# mail this address
#$ -M chekh@stanford.edu
# send mail on begin, end, suspend
#$ -m bes
# get rid of spurious messages about tty/terminal types
#$ -S /bin/sh

R --vanilla --no-save < 8GB.R 

You can submit it with just

 qsub r_test.script

Here are the output files that I get, one from stderr, one from stdout

$ cat r_test.script.e497 
tset: standard error: Function not implemented

Undefined tty
stdin: is not a tty
$ cat r_test.script.o497 

Warning: no access to tty (Bad file descriptor). Thus no job control in this shell.


R version 2.12.1 (2010-12-16) Copyright (C) 2010 The R Foundation for Statistical Computing ISBN 3-900051-07-0 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.


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.


> x <- array(1:1073741824, dim=c(1024,1024,1024)) > x <- gaussian() > Sys.sleep(300) >

Those errors about tty and job control have something to do with shell startup and terminal settings, and are normal. Or specify the 'sh' shell in your job script

 #get rid of spurious messages about tty/terminal types
#$ -S /bin/sh

In the mail that you get about the ending of the job, the maxvmem number is actually incorrect, it is a known bug in this version of SGE. The R script on this page actually uses 8GB of vmem.

Installing CRAN Packages

Most CRAN packages can be installed per-user by running install.packages() in an interactive session:

install.packages("package_name", dependencies = TRUE)

R initially attempts to install to /usr/local/lib/R, but will prompt for the creation of a library subdirectory in ~/R (if necessary) and fall back to installation there when the initial attempt fails. If your package requires dependencies available from the standard Ubuntu repositories you can submit a HelpSU ticket requesting installation.

Links

Some other departments have some other more detailed examples:

Personal tools
Toolbox
LANGUAGES