R: Really fast R functions

Rfast-package {Rfast} | R Documentation

## Really fast R functions

### Description

A collection of Rfast functions for data analysis. Note 1: The vast majority of the functions accept matrices only, not data.frames. Note 2: Do not have matrices or vectors with have missing data (i.e NAs). We do no check about them and C++ internally transforms them into zeros (0), so you may get wrong results. Note 3: In general, make sure you give the correct input, in order to get the correct output. We do no checks and this is one of the many reasons we are fast.

### Details

Package: | Rfast
Type: | Package
Version: | 2.0.4
Date: | 2021-12-03
License: | GPL-2

### Maintainers

Manos Papadakis <papadakm95@gmail.com>

### Note

Acknowledgments: We would like to acknowledge:

- Professor Kurt Hornik, Doctor Uwe Ligges (and the rest of R core team) for their invaluable help with this R package.

- Erich Studerus for his invaluable comments.

- Neal Fultz for his suggestions.

- Vassilis Vasdekis for his invaluable help with the random effects models.

- Marios Dimitriadis' work was funded by the Special Account for Research Funds of the University of Crete, Department of Computer Science.

- Phillip Si is greatly acknowledged for his help with the Floyd-Warshal algorithm.

- Keefe Murphy for his invaluable help with NEWS file and for his suggestions.

- Zacharias Papadovassilakis gave us the inspiration for the memory efficient version of the k-NN algorithm.

- Yannis Pantazis explained us how the orhtogonal matching pursuit works.

- Achim Zeileis for his help with the quasi Poisson regression models.

- Pedro J. Aphalo for finding a bug.

- Dimitris Kyriakis for finding a bug.

- Cyrille Conord for finding a bug.

- Aaron Robotham for finding a bug.

- Calvin Pan from the Department of Human Genetics at UCLA found a bug in the function glm_logistic and he is greatly acknowledged for that.

- Adam Muschielok from Rodenstock GmbH found a bug in the function vmf.mle and he is greatly acknowledged for that.

- Bret Presnell for detecting and correcting a bug in the function rvmf.

From now on the Rfast can be used in C++ via LinkingTo mechanism.

- The main namespace is "Rfast". Inside "Rfast" you will find two more namespaces, "vector" and "matrix".

- Namespace "vector" for calling functions using an Rcpp's or RcppArmadillo's vector.

- Namespace "matrix" for calling functions using an Rcpp's or RcppArmadillo's matrices.

- The signatures of the functions and the arguments are the same that are exported in R.

For namespace "vector" the functions that are available are:

1. median(x)

2. var(x, std = false, na_rm = false)

3. mad(x, method = "median", na_rm = false)

4. shuffle(x,engine = Engine(time(0)) // Engine by default is default_random_engine. You can use anyone from C++.

For namespace "matrix" the functions that are available are:

1. transpose(x)

2. matrix_multiplication(x,y)

3. colSort(x, descend = false, stable = false, parallel = false)

4. rowSort(x, descend = false, stable = false, parallel = false)

5. is_symmetric(x)

6. colMedian(x, na_rm = false, parallel = false)

7. rowMedian(x, na_rm = false, parallel = false)

8. colVars(x, std = false, na_rm = false, parallel = false)

9. rowVars(x, std = false, na_rm = false, parallel = false)

10. colMads(x, method = "median", na_rm = false, parallel = false)

11. rowMads(x, method = "median", na_rm = false, parallel = false)

12. colShuffle(x,engine = Engine(time(0)) // Engine by default is default_random_engine. You can use anyone from C++.

13. rowShuffle(x,engine = Engine(time(0)) // Engine by default is default_random_engine. You can use anyone from C++.

How to use it:

1. Just add in "LinkingTo" in your NAMESPACE file the "Rfast" or in Rstudio "//[[Rcpp::depends(Rfast)]]".

2. Include in your cpp files the header "Rfast.h" and enjoy!

### Author(s)

- Manos Papadakis <papadakm95@gmail.com>

- Michail Tsagris <mtsagris@uoc.gr>

- Marios Dimitriadis <kmdimitriadis@gmail.com>

- Stefanos Fafalios <stefanosfafalios@gmail.com>

- Ioannis Tsamardinos <tsamard@csd.uoc.gr>

- Matteo Fasiolo <matteo.fasiolo@gmail.com>

- Giorgos Borboudakis <borbudak@gmail.com>

- John Burkardt <jburkardt@fsu.edu>

- Kleanthi Lakiotaki <kliolak@gmail.com>

- Changliang Zou <nk.chlzou@gmail.com>

- Christina Chatzipantsiou <chatzipantsiou@gmail.com>

[Package Rfast version 2.0.4 Index]