The Rcpp package provides R functions as well as C++ classes which offer a seamless integration of R and C++. Many R data types and objects can be mapped back and forth to C++ equivalents which facilitates both writing of new code as well as easier integration of third-party libraries. Documentation about Rcpp is provided by several vignettes included in this package, via the Rcpp Gallery
site at <http://gallery.rcpp.org>, the paper by Eddelbuettel and Francois (2011, JSS), and the book by Eddelbuettel (2013, Springer); see citation("Rcpp")
for details on these last two.
Rcpp11 includes a header only C++11 library that facilitates integration between R and modern C++.
This package provides an iteration of the DEoptim
function. It performs global optimization by differential evolution.
This package provides fast machine learning algorithms including matrix factorization and divisive clustering for large sparse and dense matrices.
R-level and C++-level functionality to generate random deviates from and calculate moments of a Truncated Normal distribution using the algorithm of Robert (1995) <DOI:10.1007/BF00143942>. In addition to RNG, functions for calculating moments, densities, and entropies are provided at both levels.
Access to some of the C level functions of the xts package. In its current state, the package is mostly a proof-of-concept to support adding useful functions, and does not yet add any of its own.
R access to the Sequential Monte Carlo Template Classes by Johansen <doi:10.18637/jss.v030.i06> is provided. At present, four additional examples have been added, and the first example from the JSS paper has been extended. Further integration and extensions are planned.
Rcpp reimplementation of the the Bayesian non-parametric Dirichlet Process Regression model for penalized regression first published in Zeng and Zhou (2017) <doi:10.1038/s41467-017-00470-2>. A full Bayesian version is implemented with Gibbs sampling, as well as a faster but less accurate variational Bayes approximation.
The APT Package Management System provides Debian and Debian-derived Linux systems with a powerful system to resolve package dependencies. This package offers access directly from R. This can only work on a system with a suitable libapt-pkg-dev installation so functionality is curtailed if such a library is not found.
Access to Boost Date_Time functionality for dates, durations (both for days and date time objects), time zones, and posix time ('ptime') is provided by using Rcpp modules'. The posix time implementation can support high-resolution of up to nano-second precision by using 96 bits (instead of 64 with R) to present a ptime object (but this needs recompilation with a #define set).
Collection of functions to evaluate sequences, decode hidden states and estimate parameters from a single or multiple sequences of a discrete time Hidden Markov Model. The observed values can be modeled by a multinomial distribution for categorical/labeled emissions, a mixture of Gaussians for continuous data and also a mixture of Poissons for discrete values. It includes functions for random initialization, simulation, backward or forward sequence evaluation, Viterbi or forward-backward decoding and parameter estimation using an Expectation-Maximization approach.
The GNU Scientific Library (or GSL) is a collection of numerical routines for scientific computing. It is particularly useful for C and C++ programs as it provides a standard C interface to a wide range of mathematical routines. There are over 1000 functions in total with an extensive test suite. The RcppGSL package provides an easy-to-use interface between GSL data structures and R using concepts from Rcpp which is itself a package that eases the interfaces between R and C++.
Rcpp Bindings for the C code of the Corpus Workbench ('CWB'), an indexing and query engine to efficiently analyze large corpora (<https://cwb.sourceforge.io>). RcppCWB
is licensed under the GNU GPL-3, in line with the GPL-3 license of the CWB (<https://www.r-project.org/Licenses/GPL-3>). The CWB relies on pcre2 (BSD license, see <https://github.com/PCRE2Project/pcre2/blob/master/LICENCE.md>) and GLib (LGPL license, see <https://www.gnu.org/licenses/lgpl-3.0.en.html>). See the file LICENSE.note for further information. The package includes modified code of the rcqp package (GPL-2, see <https://cran.r-project.org/package=rcqp>). The original work of the authors of the rcqp package is acknowledged with great respect, and they are listed as authors of this package. To achieve cross-platform portability (including Windows), using Rcpp for wrapper code is the approach used by RcppCWB
'.
Hnswlib is a C++ library for approximate nearest neighbors. This package provides a minimal R interface by relying on the Rcpp package.
This package provides fast and efficient routines for common rolling / windowed operations. Routines for the efficient computation of windowed mean, median, sum, product, minimum, maximum, standard deviation and variance are provided.
The TOML configuration format specifies an excellent format suitable for both human editing as well as the common uses of a machine-readable format. This package provides Rcpp bindings to a TOML parser.
Rcpp access to the CCTZ timezone library is provided. CCTZ is a C++ library for translating between absolute and civil times using the rules of a time zone. The CCTZ source code is included in this package.
Using the efficient implementation in the Boost C++ library, functions are provided to generate vectors of Universally Unique Identifiers (UUID) from R supporting random (version 4), name (version 5) and time (version 7) UUIDs'. The initial repository was at <https://gitlab.com/artemklevtsov/rcppuuid>.
RcppDist provides a header-only C++ library with functions for additional statistical distributions that can be called from C++ when writing code using Rcpp or RcppArmadillo. Functions are available that return a NumericVector
as well as doubles, and for multivariate or matrix distributions, Armadillo vectors and matrices.
This package creates a header only package to link to the CGAL (Computational Geometry Algorithms Library) header files in Rcpp'. There are a variety of potential uses for the software such as Hilbert sorting, K-D Tree nearest neighbors, and convex hull algorithms. For more information about how to use the header files, see the CGAL documentation at <https://www.cgal.org>. Currently downloads version 6.0.1 of the CGAL header files.
The cnpy library written by Carl Rogers provides read and write facilities for files created with (or for) the NumPy
extension for Python'. Vectors and matrices of numeric types can be read or written to and from files as well as compressed files. Support for integer files is available if the package has been built with as C++11 which should be the default on all platforms since the release of R 3.3.0.
This package provides a header-only C++ library is provided with support for dates, time zones, ISO weeks, Julian dates, and Islamic dates. date
offers extensive date and time functionality for the C++11, C++14 and C++17 standards. A slightly modified version has been accepted (along with tz.h
) as part of C++20. This package regroups all header files from the upstream repository so that other R packages can use them in their C++ code.
Annoy is a small C++ library for Approximate Nearest Neighbors written for efficient memory usage as well an ability to load from and save to disk. This package provides an R interface.
Time the execution of overlapping or unique Rcpp code chunks using convenient methods, seamlessly write timing results to an RcppClock
object in the R global environment, and summarize and/or plot the results in R.