C++ Classes to Embed R in C++ Applications

C++ classes to embed R in C++ applications A C++ class providing the R interpreter is offered by this package making it easier to have "R inside" your C++ application. As R itself is embedded into your application, a shared library build of R is required. This works on Linux, OS X and even on Windows provided you use the same tools used to build R itself. d Numerous examples are provided in the eight subdirectories of the examples/ directory of the installed package: standard, 'mpi' (for parallel computing), 'qt' (showing how to embed 'RInside' inside a Qt GUI application), 'wt' (showing how to build a "web-application" using the Wt toolkit), 'armadillo' (for 'RInside' use with 'RcppArmadillo') and 'eigen' (for 'RInside' use with 'RcppEigen'). The examples use 'GNUmakefile(s)' with GNU extensions, so a GNU make is required (and will use the 'GNUmakefile' automatically). 'Doxygen'-generated documentation of the C++ classes is available at the 'RInside' website as well.


Easy embedding of R inside C++

About

The RInside package provides a few classes for seamless embedding of R inside of C++ applications by relying on Rcpp.

Examples

Provided with the package itself are eight subdirectories with examples: from more than a dozen basic command-line examples (in directory standard) to graphical user-interfaces (using both Qt and Wt), linear algebra with Armadillo and Eigen, parallel computing with MPI to a sandboxed server.

The simplest example (modulo its header) is examples/standard/rinside_sample0.cpp

#include <RInside.h>                    // for the embedded R via RInside 
 
int main(int argc, char *argv[]) {
 
    RInside R(argc, argv);              // create an embedded R instance  
 
    R["txt"] = "Hello, world!\n";     // assign a char* (string) to 'txt' 
 
    R.parseEvalQ("cat(txt)");           // eval the init string, ignoring any returns 
 
    exit(0);
}

The Qt example directory produces this application for showing how to use R (to estimate densities) inside a C++ executable (providing the GUI):

The code is portable across operating systems. Similar, the Wt example directory contains this C++-based web application doing the same:

See Also

The RInside web page has some more details.

Authors

Dirk Eddelbuettel and Romain Francois

License

GPL (>= 2)

News

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("RInside")

0.2.15 by Dirk Eddelbuettel, 6 months ago


http://dirk.eddelbuettel.com/code/rinside.html


Report a bug at https://github.com/eddelbuettel/rinside/issues


Browse source code at https://github.com/cran/RInside


Authors: Dirk Eddelbuettel and Romain Francois


Documentation:   PDF Manual  


Task views: High-Performance and Parallel Computing with R


GPL (>= 2) license


Imports Rcpp

Linking to Rcpp


Imported by CircSpaceTime.

Suggested by RMixtCompIO.


See at CRAN