[Rd] Controlling stdin and stdout in an embedded R instance
Dirk Eddelbuettel
edd at debian.org
Fri Jun 17 16:34:57 CEST 2011
On 16 June 2011 at 18:47, Mike Sonsini wrote:
| Hello,
|
| I am very new to R but my question is with respect to the C API for
| working with an embedded R console. I have been able to start and stop
| an embedded R console from within a C program as well as use the API to
| execute commands in it. I am seeking a mechanism to individually send
| native R commands to an embedded console and then consume the output of
| these commands. Specifically, I cannot send a set of commands to the
| embedded console and then consume all of the output after the execution
| completes. I have unsuccessfully attempted to assign values to the
| ptr_R_ReadConsole and ptr_R_WriteConsole function pointers defined in
| Rinterface.h but do not know if this is a valid approach. I am working
| in Ubuntu 10.04 and thus the Windows example at the following address is
| not applicable.
|
| http://cran.r-project.org/doc/manuals/R-exts.html#Calling-R_002edll-directly
|
| Does anyone on this list have experience or an example of communicating
| with an embedded R console using native R commands and consuming the
| output one command at a time in a "Unix-alike" environment?
Let me see if I understood this correctly:
- you have managed to embed R in your own application
- you now want to control the embedded R instance
and for the latter you want to use stdin and stdout? Why not use R commands
and consuming R output?
Examples are e.g.
- littler (available in Ubuntu) which sends R commands line by line to R;
implemented in plain C. Commands can come from the command-line, from a
script or from stdin: R still sees them line by line in REPL fashion.
- RInside which builds on top of the littler experience and the Rcpp API
(Rcpp is also in Ubuntu) to embed R via a much nicer C++ abstraction
which, coupled with Rcpp, gives you real easy communication via full blown
R objects accessible from C++. There are well over a dozen examples in the
RInside sources
Hope this helps, Dirk
--
Gauss once played himself in a zero-sum game and won $50.
-- #11 at http://www.gaussfacts.com
More information about the R-devel
mailing list