Rcpp: Seamless R and C++ Integration
By Dirk Eddelbuettel, Romain François. 2011
1,609 citations recorded by the source corpus.
The Rcpp package simplifies integrating C++ code with R. It provides a consistent C++ class hierarchy that maps various types of R objects (vectors, matrices, functions, environments, . . . ) to dedicated C++ classes. Object interchange between R and C++ is managed by simple, flexible and extensible concepts which include broad support for C++ Standard Template Library idioms. C++ code can both be compiled, linked and loaded on the fly, or added via packages. Flexible error and exception code handling is provided. Rcpp substantially lowers the barrier for programmers wanting to combine C++ code with R.
Subfields: Artificial Intelligence, Information Systems and Management
View Paper: https://www.semanticscholar.org/paper/8650e59f5da0a23af83b54dc9870e6bc2c68bba7
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Eric-Jan Wagenmakers
- Johannes W. Kruisselbrink
- Dustin Tingley
- Brandon M Stewart
- Margaret E. Roberts
- Josine Verhagen
- Alexander Ly
- Richard D. Morey
In Information Systems and Management
- Conrad Sanderson
- Michael Hahsler
- Margaret E. Roberts
- Brandon M Stewart
- Dustin Tingley
- N. Matzke
- Tal Galili
- John Forrest
Citations in the corpus
- Model selection in historical biogeography reveals that founder-event speciation is a crucial process in Island Clades. (2014, methodology): “BioGeoBEARS requires two accessory R packages: rexpokit (Matzke and Sidje 2013) and cladoRcpp (Matzke 2013b).”
- moveHMM: an R package for the statistical modelling of animal movement data using hidden Markov models (2016, methodology): “The likelihood computation is based on the forward algorithm (Zucchini, MacDonald & Langrock 2016, Chapter 3), and is implemented in C ++ for speed, using Rcpp (Eddelbuettel & Francois 2011).”
- Spatial capture–recapture with partial identity: An application to camera traps (2018, methodology): “An R package to fit the SPIM is available at github.com/benaug/SPIM which includes code to fit the models in either R or Rcpp and RcppArmadillo [Eddelbuettel and François (2011), Eddelbuettel and Sanderson (2014)], which is considerably faster.”
- ranger: A Fast Implementation of Random Forests for High Dimensional Data in C++ and R (2015, methodology): “The R package Rcpp (Eddelbuettel and François 2011) was employed to make the new implementation available as R package, reducing the installation to a single command and simplifying its usage, see Section 3 for details.”
- Probabilistic historical biogeography: new models for founder-event speciation, imperfect detection, and fossils allow improved accuracy and model-testing (2013, neutral): “ Accessory packages BioGeoBEARS accesses EXPOKIT via an accessory R package, rexpokit (Matzke & Sidje 2013) which contains the FORTRAN and C++ source code, linked to R with Rcpp (Eddelbuettel & Francois 2013; Eddelbuettel, Francois & Bates 2013).”
- dendextend: an R package for visualizing, adjusting and comparing trees of hierarchical clustering (2015, methodology): “The package is extensively validated through unit-testing (Wickham, 2011), offers a C þþ speed-up (Eddelbuettel and Franc¸ois, 2011) for some of the core functions through the dendextendRcpp package, and includes three detailed vignettes.”
- APCluster: an R package for affinity propagation clustering (2011, methodology): “2 [3,] 0.”
- Flexible Self-Organizing Maps in kohonen 3.0 (2018, background): “C interface are clear and well documented (Eddelbuettel and François 2011).”
- Introduction to stream: An Extensible Framework for Data Stream Clustering Research with R (2017, methodology): “9GHz and 8GB of memory, and the algorithm is implemented as a mixture of R and C++ code using the Rcpp interface package (Eddelbuettel and François 2011; Eddelbuettel 2013).”
- Efficient analysis of large-scale genome-wide data with two R packages: bigstatsr and bigsnpr (2018, methodology): “With the two packages we developed, we made this solution available in R and in C þþ via package Rcpp (Eddelbuettel and Franc¸ois, 2011).”
- Apollo: A flexible, powerful and customisable freeware package for choice model estimation and application (2019, methodology): “This includes functions for new model structures, further computational improvements by coding more of the underlying calculations in C++ (Eddelbuettel and François, 2011), and making further refinements to the implementation of expectation-maximisation (EM) routines (cf.”
- R/qtl2: Software for Mapping Quantitative Trait Loci with High-Dimensional Data and Multiparent Populations (2018, positive): “…is written in R, but computationally intensive aspects are written in C++. (Computationally intensive aspects of R/qtl1 are in C.) We use Rcpp (Eddelbuettel and François 2011; Eddelbuettel 2013) for the interface between R and C++, to simplify code and reduce the need for copying data in memory.”
- Biips: Software for Bayesian Inference with Interacting Particle Systems (2014, methodology): “Rbiips uses the Rcpp library (Eddelbuettel and François 2011; Eddelbuettel 2013).”
- JASP: Graphical Statistical Software for Common Statistical Designs (2019, methodology): “The function is then able to access the data set residing in shared memory through several native functions provided by the JASP R environment through the Rcpp (Eddelbuettel and François 2011) and the RInside (Eddelbuettel and François 2015) packages.”
- Imputation with the R Package VIM (2016, methodology): “…own functions and models; • is optimized for large data sets, i.e., it includes efficient implementations of algorithms using the R packages Rcpp (Eddelbuettel et al. 2011) and data.table (Dowle et al. 2015); • is possible to apply the imputation methods either to data frames or objects from the…”