Brief Overview

Rcpp and related Projects

A fair number of recent projects involve the Rcpp package for seamless R and C++ integration, and several related packages. The Rcpp website has more about Rcpp, and the Rcpp Gallery presents a number of worked examples.

RcppArmadillo, RcppEigen and RcppGSL extend, respectively, to the Armadillo, Eigen and GSL frameworks. Most of these packages are authored jointly by the Rcpp Core team.

Several few smaller and sometimes still incomplete packages use Rcpp to extend to other interesting package or libraries.

A few examples are RcppAnnoy (fast Nearest Neighbours classifier), RcppAPT (interfacing APT on Debian/Ubuntu/...), RcppBDT (Boost DateTime access), RcppCNPy (read/write NumPy files). RcppDE (differential evolution optmizations), RcppKalman (Kalman Filter), RcppRedis (faster Redis read/write access), RcppSMC (Sequential Monte Carlo / Particle Filter), RcppStreams (Event Stream Processing), RcppTOML (TOML Configuration File Reader), RcppXts (xts access at C level), and RcppZiggurat (faster Normal RNGs).

Last but not least RInside uses Rcpp to embed R in a very easy-to-use C++ class for deployment in other programs.

Other Projects

Rblpapi connects R to Bloomberg API (provided you have Bloomberg).

RQuantLib is another relatively large project connecting R to QuantLib.

BH provides Boost C++ headers for use by R.

digest provides hash sums of R objects.

RPushbullet interfaces the PushBullet notification service.

RApiSerialize provides the C-level API for R object serialization.

RVowpalWabbit interface the Vowpal Wabbit on-line learner.

pkgKitten makes creating and writing R packages a breeze.

drat supports lightweight package repositories

rfoaas interfaces the excellent FOAAS service.

random provides true (hardware) RNG draws.

RDieHarder tests RNGs.

RPostgreSQL connects R to Postgres (now maintained by Tomoaki Nishiyama).

Older projects include the Perl-based BeanCounter (and SMTM) as well as Finance::YahooQuote.

Reverse Chronological List

In (approximately) reverse chronological order:


Rcpp Interface for R to Bloomberg (provided you have Bloomberg) [Project page] [CRAN] [GitHub].


Rcpp Interface for R to TOML configuration files [Project page] [CRAN] [GitHub].


Rcpp Interface for R to the APT Packaging Tool on Debian and derivatives [Project page] [CRAN] [GitHub].


Drat R Archive Template to easily create lightweight repositories [Project page] [CRAN] [GitHub].


R interface to the Streamulus library for Event Stream Processing. [Project page] [CRAN] [GitHub].


R interface to the Annoy approximate nearest neighbour classifier. [Project page] [CRAN] [GitHub].


Easier creation of R packages that purr. [Project page] [CRAN] [GitHub] [Debian].


R interface to the excellent PushBullet notifications API and service. [Project page] [CRAN] [GitHub].


Access to the C-level API for R object serialization. [Project page] [CRAN] [GitHub].


R interface to the RESTful FOAAS service. [CRAN] [GitHub].


Faster Normal RNGs for R via the Ziggurat algorithm. [Project page] [CRAN] [GitHub].


R interface to Redis. [Project page] [CRAN] [GitHub].


RcppArmadillo port of the EKF/UKF toolbox for Matlab [Project page] [GitHub]


Provides R with read/write access to NumPy data files. [Project page] [CRAN] [GitHub].


Access (large parts of) Boost templated C++ header files in your R packages. [Project page] [CRAN] [GitHub].


C++ level access to xts via Rcpp. [CRAN] [GitHub].


Using the SMTC (Sequential Monte Carlo Template) classes by Johansen from R via Rcpp. [Project page] [CRAN] [GitHub].


Access from R to the excellent Vowpal Wabbit on-line machine learning system. [Project page] [CRAN] [GitHub].


Provides a more compact alternate C++ implementation of DEoptim Differential Evolution optimisation package. [CRAN] [GitHub].


Interface from R to the Boost Date.Time library. [Project page] [CRAN] [GitHub].


Provides the otherwise deprecated classic Rcpp API for packages that have not updated to the newer API. [CRAN] [GitHub].


Bindings from R to the vector and matrix classes of the GNU GSL. [Project page] [CRAN] [GitHub].


Bindings from R to the Eigen library. [CRAN] [GitHub] [Debian].


Regroups a number of examples for Rcpp. [Project page] [CRAN].


Bindings from R to Conrad Sanderson's excellent templated Armadillo library. [Project page] [CRAN] [GitHub] [Debian].


C++ classes to embed R in your C++ applications permitting you to eaily pass data and commands to R. [Project page] [CRAN] [GitHub].


Bindings for R to use Google Protocol Buffers for serialization and much more. [Project page] [CRAN] [GitHub].


Seamless R and C++ integration. [Project page] [CRAN] [GitHub] [Debian].


R interface to the DieHarder tests for RNGs.


R interface to PostgreSQL, initially a part of GSoC 2008. Now maintained by Tomoaki Nishiyama. [CRAN] [Google Code].


A scripting front-end for R to write simple 'shebang'-line scripts, or quick command-line expressions. [Project page] [GitHub].


R package providing access to true (i.e. non-deterministic) random numbers from [Project page] [CRAN] [GitHub].


R package to create hash digests of arbitrary R objects. [Project page] [CRAN] [GitHub] [Debian].


A directly bootable and self-configuring Linux system on a single dvd (project no longer active). [Project page]] [Web site].


A R interface with the QuantLib library. [Project page] [CRAN] [GitHub] [Debian].

Really Old Projects


A stock portfolio performance toolkit: download, store (in SQL) and analyse stock market data. [Project page] [CPAN] [Google Code] [Debian].


A highly configurable Perl/Tk stock ticker and performance display for stocks. [Project page] [CPAN] [Debian].


A Perl module to download stock (and other) quotes from Yahoo! Finance, originally written by Dj Padzensky; mainted by me since 2002. [Project page] [CPAN] [Debian].

Mersenne Twister RNG for GNU Octave

C++ code for another RNG for GNU Octave using the Mersenne Twister MT19937. [Project page].

PostgreSQL for Octave

C++ code to interface the Postgres SQL database directly from GNU Octave. [Project page].

Other Pages


My Debian GNU/Linux page with information about the several dozen packages I maintain.


My main GitHub page.

Initially created: Tue Jul 27 20:25:25 EDT 1999
Last modified: Thu Aug 13 22:32:17 CDT 2015