Skip to content

Seamless embedding of R in C++ programs

Notifications You must be signed in to change notification settings

b2b-web-id/rinside

 
 

Repository files navigation

RInside: Easy embedding of R inside C++ (and C)

CI License CRAN Dependencies Debian package Downloads Last Commit

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 nine 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, and (since release 0.2.16) a simple (and more limited) interface for embedding insice C applications.

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, Romain Francois, and Lance Bachmeier

License

GPL (>= 2)

About

Seamless embedding of R in C++ programs

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 69.4%
  • CMake 10.7%
  • Makefile 9.8%
  • R 7.6%
  • C 1.4%
  • Shell 0.5%
  • Other 0.6%