[This article was first published on r - Brandon Bertelsen, and kindly contributed to R-bloggers]. (You can report issue about the content on this page here)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
Instructions for using Rcpp and Roxygen2 together. This assumes that Roxygen2 is managing your namespace:
DESCRIPTION
- In your
DESCRIPTIONfile, add the lineLinkingTo: Rcpp - Also ensure that you import Rcpp,
Imports: Rcppalong with all the other packages are imported in your namespace.
Package Documentation
Your package documentation (by convention in zzz.R or package.R) you should have the following:
#' your_package #' #' Description of your package #' #' @docType package #' @author you <youremail> #' @import Rcpp another_package another #' @importFrom Rcpp evalCpp #' @useDynLib your_package #' @name your_package NULL
Functions
- Add
*.cppfiles to/srcdirectory. - Remember to use
//'as your comment so thatRoxygen2picks it up appropriately. - Remember to include
[[Rcpp:export]]so that it is picked up byRcpp::compileAttributes()when you build and reload or runroxygenize()manually as per your project options
#include <Rcpp.h>
using namespace Rcpp;
//' Leading NA
//'
//' This function returns a logical vector identifying if
//' there are leading NA, marking the leadings NA as TRUE and
//' everything else as FALSE.
//'
//' @param x An integer vector
//' @export
// [[Rcpp::export]]
LogicalVector leading_na(IntegerVector x) {
int n = x.size();
LogicalVector leading_na(n);
int i = 0;
while((i < n) &&(x[i] == NA_INTEGER)) {
leading_na[i] = TRUE;
i++;
}
return leading_na;
}
To leave a comment for the author, please follow the link and comment on their blog: r - Brandon Bertelsen.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
