[R] Returning Variables in R to Linux Shell

Barry Rowlingson b.rowlingson at lancaster.ac.uk
Wed Apr 22 17:55:10 CEST 2009


On Wed, Apr 22, 2009 at 3:48 PM, Bierbryer, Andrew
<abierbryer at klsdiversified.com> wrote:

> For example, if I had a simple one line R script that just did
>
>            string <- 'TEST',
>
>
>
> when I call
>
> /usr/local/bin/R -no-save < MY_R_FILE,
>
>
>
> how can I put the value TEST into a shell variable?

 You can use back-ticks (`) in most shells to capture output. So print
the value you want using R's cat() function, and capture it thus:

$ cat test.R
string <- 'TEST'
cat(string)

$ v=`R --slave --no-save < test.R `
$ echo $v
TEST

bash shell also allows $( ) notation:

$ v=$(R --slave --no-save < test.R )

 note the use of --slave to make R shut up about itself.

Barry




More information about the R-help mailing list