crowdopt: Crowd-Optimized R Functions

Description Details Author(s) References

Description

Faster versions of base R functions (e.g. weighted mean, standard deviation, covariance), mostly written in C++. Function names are the same as the corresponding base R functions, but with a 2 added (e.g. weighted.mean2 for weighted.mean).

Details

The concept for this package is crowdsourced optimization for speed. Long term, the goal is to optimize enough base R functions that a typical R user can drastically speed up their scripts by simply loading **crowdopt** and replacing functions with the optimized version.

Anyone can contribute on GitHub (https://github.com/vandomed/crowdopt). Once you contribute a function, you become a co-author for the package, and remain a co-author even if your function eventually gets replaced by a faster one developed by somebody else.

To contribute a function, all you need to do is add 1 .R file with the code and documentation for your function, using roxygen2 syntax. You can use range2.R as a template. Be sure to include an Examples section in which you demonstrate that your function is faster than the corresponding base R function.

In general, contributed functions should be substantially faster than the corresponding base R function, ideally for both small and large objects (e.g. vectors of length 5 and 500,000).

Package: crowdopt
Type: Package
Version: 1.1.1
Date: 2018-03-21
License: GPL-3

Author(s)

Dane R. Van Domelen
vandomed@gmail.com

References

Eddelbuettel, D. and Francois, R. (2011) Rcpp: Seamless R and C++ Integration. Journal of Statistical Software, 40(8), 1-18. http://www.jstatsoft.org/v40/i08/.

Eddelbuettel, D. (2013) Seamless R and C++ Integration with Rcpp. Springer, New York. ISBN 978-1-4614-6867-7.

Eddelbuettel, D. and Balamuta, J.J. (2017). Extending R with C++: A Brief Introduction to Rcpp. PeerJ Preprints 5:e3188v1. https://doi.org/10.7287/peerj.preprints.3188v1.

Wickham, H., Danenberg, P. and Eugster, M. (2017) roxygen2: In-Line Documentation for R. R package version 6.0.1. https://CRAN.R-project.org/package=roxygen2.

Acknowledgment: This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-0940903.


vandomed/crowdopt documentation built on May 26, 2019, 5:35 a.m.