Dirk Eddelbuettel's research while affiliated with Dominican University and other places

Publications (12)

Chapter
The short appendix offers a very basic introduction to the C++language to someone already (at least somewhat) familiar with Rprogramming. Introducing all of C++in just a few pages is not really possible. Countless books have been written about the C++language since its inception in the early 1990s (and we will list a few at the end in a section on...
Chapter
The RcppGSL package provides an easy-to-use interface between data structures from the GNU Scientific Library, or GSL for short, and R by building on facilities provided in the Rcpp package. The GSL is a well-known collection of numerical routines for scientific computing. It is particularly useful for C and C++ programs as it provides a standard C...
Chapter
Chapter 1 provided a gentle introduction to Rcpp and some of its key features. In this chapter, we look more closely at the required toolchain of compilers and related R packages needed to deploy the Rcpp package. In particular, on Windows, the Rtools collection is used and non-gcc compilers are not supported. On Unix-alike systems such as Linux an...
Chapter
This chapter provides an overview of the steps programmers should follow to extend Rcpp for use with their own classes and class libraries. The packages RcppArmadillo, RcppEigen, and RcppGSLprovide working examples of how to extend Rcpp to work with, respectively, the Armadillo and Eigen C++ class libraries as well as the GNU Scientific Library.
Chapter
The RcppEigen package provides an interface to the Eigen library. Eigen is a featureful C++ library which deploys modern template meta-programming techniques. It is similar to Armadillo but provides an even more granular application-programming interface (API). This chapter provides an introduction to the Rcpp Eigen package by introducing the core...
Chapter
This chapter first discusses the RObject class at the heart of the Rcpp class system. While RObject is not meant to be used directly, it provides the foundation upon which many important and frequently-used classes are built. We then introduce the two core vector types NumericVector and IntegerVector. Other related vector types are briefly discusse...
Chapter
The RcppArmadillo package implements an easy-to-use interface to the Armadillo library. Armadillo is an excellent, modern, high-level C++library aiming to be as expressive to use as a scripting language while offering high-performance code due to modern C++design including template meta- programming.RcppArmadillo brings all these features to the Re...
Chapter
This chapter provides an overview of how to use Rcpp when writing an R package. It shows how using the function Rcpp.package.skeleton() can create a complete and self-sufficient example of a package using Rcpp. All components of the directory tree created by Rcpp.package.skeleton() are discussed in detail. A brief case study of an existing CRAN pac...
Chapter
The RInside package permits direct use of Rinside of a C++application. RInside provides an abstraction layer around the Rembedding API and makes it easier to access an Rinstance inside your application. Moreover, thanks to the classes provided by Rcpp, data interchange between Rand C++becomes very straightforward. We illustrate RInside by examining...
Chapter
This initial chapter provides a first introduction to Rcpp. It uses a somewhat slower pace and generally more gentle approach than the rest of the book in order to show key concepts which are revisited and discussed in more depth throughout the remainder. So the aim of this chapter is to cover a fairly wide range of material, but at a more introduc...
Chapter
This chapter describes Rcpp sugar which brings a higher level of abstraction to C \(++\) code written using the Rcpp API. Rcpp sugar is based on expression templates and provides some “syntactic sugar” facilities directly in Rcpp. In this chapter, we will introduce many of the very useful Rcpp sugar features. As our focus is firmly on using Rcpp su...
Chapter
This chapter discusses Rcpp modules which allow programmers to expose C++ functions and classes to R with relative ease. Rcpp modules are inspired from the Boost.Python C++ library which provides similar features for integrating Python and C++. Furthermore, Rcpp modules also offer the ability to extend C++classes exposed to Rdirectly from the Rside...

Citations

... However, R has a dedicated matrix multiplication operator (% * %) that is commonly used by R analysts, is still very slow for multiplying large dimensional matrices [20]. We use Rcpp [12], an R add-on package that facilitates extending R with C++ functions to compute Phase 1 efficiently. Rcpp can be used to accelerate the computation by replacing an R function with its C++ equivalent function. ...
... Similarly, to keep track of unique read support, we define a (observed) indicator variable , which takes a value of 1 if reads in read class that originate from transcript are uniquely mapped to transcript and 0 otherwise. We then obtain the unique transcript estimate Bambu was done in R using Rcpp41,42 , Bambu is available through bioconductor. ...