[R] Call R program from C++ code
Dirk Eddelbuettel
edd at debian.org
Mon Jul 30 00:17:27 CEST 2007
On Sun, Jul 29, 2007 at 04:35:51PM -0400, Feng Qiu wrote:
> I'm developing an application program using C++. From my C++
> code, I would call some R program I have written. I' wondering if R provide
> some compiler that can compile R program into executable program. I searched
That does not exist to the best of my knowledge.
> I might be wrong that R doesn't have complier. What I'm
> trying to do is to call R program from C++ code. Any help is highly
> appreciated!
As you probably know, C++ can 'call' other object code that is linked
to it. As for 'calling R', the easiest way is to call an R script
using the system() call -- but it is also the most tedious way as you
to write the inout data to file, and then read the result data back
in. But it is a start, and it may be easiest to debug.
A more advanced method would to use Rserve to run a 'headless' R
service to which your C++ program can connect over the network. But
there you need to be already somewhat familiar with the underlying
C/C++ representation of R object. Rserve has simple examples.
Next, you can actually embed R inside your C++ application, but that
is more advanced.
In any event, you may also want to consider the RcppTemplate package
which has a host of examples about how to get R and C++ to work better
together (without forcing you to use C).
The 'Extending R' manual from your R installation is a good starting
point for most of this.
Hope this helps, Dirk
--
Three out of two people have difficulties with fractions.
More information about the R-help
mailing list