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 were at least initially 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), RcppCCTZ (time-zone library), RcppCNPy (read/write NumPy files), RcppDate (modern date library), RcppDE (differential evolution optmizations), RcppMagicEnum (enum support), RcppFastAD (fast automatic differentiation), RcppFarmHash (hasher used by BigQuery), RcppFastFloat (fast character conversion), RcppGetconf (system configuration access), RcppInt64 (int64 variables), RcppKalman (Kalman Filter), RcppMsgPack (Date serialization / transfer), RcppNLoptExample (NLopt via Rcpp), RcppRedis (faster Redis read/write access), RcppSimdJson (fastest JSON parser) RcppSMC (Sequential Monte Carlo / Particle Filter), RcppSpdlog (modern logging library), RcppStreams (Event Stream Processing), RcppTOML (TOML Configuration File Reader), RcppXts (xts access at C level), and RcppZiggurat (faster Normal RNGs).
Applications include anytime for
easier time and date conversion, nanotime for nanosecond resolution (using
RcppCCTZ and RcppDate), and qlcal for QuantLib Calendaring, and dtts building on nanotime (and
data.table
).
Last but not least RInside uses Rcpp to embed R in a very easy-to-use C++ class for deployment in other programs.
Also, a long list of (all) packages (on CRAN) using Rcpp is available.
I continue to maintain r-ci for portable continuous integration across different providers.
The r2u projects offers 22,000 CRAN binaries (plus 400 BioC ones) for Ubuntu LTS releases. Fast. Easy. Reliable. Pick All Three.
littler lets R be used in commad-line scripting, pipes and more.
binb, linl, pinp, and tint are all using Markdown to produce pdf (nice than Beamer) slides, letters, (PNAS-alike) papers or (Tufte) handouts (pdf and html.
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; AsioHeaders does the same for Asio.
digest provides hash sums of R objects.
inline makes it easy to inline C, C++, or Fortran code alongside R.
RPushbullet interfaces the PushBullet notification service.
RApiSerialize provides the C-level API for R object serialization; RApiDatetime does the same for some date/time functions.
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.
rmsfact and
gaussfacts offer some (lighthearted)
quotes in the fortune()
tradition.
RDieHarder tests RNGs.
RPostgreSQL connects R to Postgres (now maintained by Tomoaki Nishiyama).
spdl provides a consistent R and C++ wrapper for logging with spdlog.
td accesses twelvedata APIs over REST.
crc32c provides a hardware-accelerated crc32c implementation with a software fallback.
tinythemes provides a lightweight repackaging of ggplot2 themes.
ciw offers a quick and concise view of the ‘incoming’ directory at CRAN.
ulid provides universally unique lexicographically-sortable identifiers.
Older projects include the Perl-based BeanCounter (and SMTM) as well as Finance::YahooQuote.
In (approximately) reverse chronological order: