Re: [Rd] Best way to locate R executable from within R?

From: Gabor Grothendieck <>
Date: Tue, 22 May 2012 14:39:22 -0400

On Tue, May 22, 2012 at 1:34 PM, Henrik Bengtsson <> wrote:
> Hi,
> I'd like to spawn of a new R process from within R using system(),
> e.g. system("R -f myScript.R").  However, just specifying "R" as in
> that example is not guaranteed to work, because "R" may not be on the
> OS's search path.
>  What is the best way, from within a running R, to infer the command
> (basename or full path) for launching R in way that it works on any
> OS?  I came up with the following alternatives, but I'm not sure if
> they'll work everywhere or not:
> 1. Rbin <- commandArgs()[1];
> 2. Rbin <- file.path(R.home(), "bin", "R");
> Other suggestions that are better?

At least on Windows one could run R via R.exe, Rterm.exe or Rgui.exe amd #2 would not pick up the differences. On the other hand if I do this on the Windows command line on my Vista system with R 2.15.0 patched:

cd \program files\R\R-2.15.x\bin\i386

and then enter commandArgs() into R, the output is "Rterm.exe" with no path.

The fact that one can have 32 bit and 64 bit R executables on the same system complicates things too.

Thus, on Windows something like this might work:

   file.path(R.home("bin"), R.version$arch, basename(commandArgs()[[1]]))

If there are cases that I missed then this might pick up those too:

   R <- commandArgs()[[1]]
   if (R == basename(R)) R <- file.path(R.home("bin"), R.version$arch, R)

Statistics & Software Consulting
GKX Group, GKX Associates Inc.
tel: 1-877-GKX-GROUP
email: ggrothendieck at

______________________________________________ mailing list
Received on Tue 22 May 2012 - 18:42:13 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Tue 22 May 2012 - 19:41:25 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive