Fast Redundancy Analysis (RDA) with High-Performance 'C++' Backend

Provides a high-performance implementation of redundancy analysis (RDA) in 'C++' using 'Armadillo' and 'OpenMP'. Supports standard and partial RDA, centering, scaling, overall and axis-wise permutation tests, biplot visualization, score extraction, and prediction. Designed for large ecological, genomic, and other multivariate data sets where computational speed and memory efficiency are required.


fastrda: Fast Redundancy Analysis (RDA) with HPC C++ Backend

fastrda is a high-performance implementation of Redundancy Analysis (RDA) for R, written in C++ using Armadillo and OpenMP. It is designed for ecological, genomic, and other large multivariate datasets where computational efficiency is critical. fastrda

Features

  • High-performance C++ backend using Armadillo
  • OpenMP parallel computation
  • Standard and partial redundancy analysis (RDA)
  • Parallel permutation tests (anova() and anova_fastrda())
  • Prediction for new observations
  • Multiple score scaling options
  • Memory-efficient workspace modes
  • Publication-ready biplots
  • Familiar S3 interface (print(), summary(), predict(), scores(), plot(), biplot())

Installation

CRAN

install.packages("fastrda")

Quick Example

library(fastrda)
library(vegan)

data(mite, mite.env)

# Hellinger transformation
Y <- decostand(mite, "hellinger")

# Environmental variables
X <- model.matrix(~ SubsDens + WatrCont, mite.env)[, -1]

fit <- fastrda(
  genotype = Y,
  environment = X,
  axes = 2,
  keep_workspace = "minimal"
)

summary(fit)

# Ordination plot
plot(fit)

Permutation test

anova(fit, permutations = 999)

Direct biplot

biplotrda(fit)

Workspace Modes

Mode Recommended use
"minimal" Permutation testing (recommended default)
"compact" Prediction for new data
"full" Prediction and permutation testing
"none" Lowest memory usage

Documentation

The package vignette contains a complete workflow and additional examples.

vignette("fastrda")

Browse all available documentation:

help(package = "fastrda")

or

browseVignettes("fastrda")

Performance

Internal benchmarks on synthetic datasets containing up to 10,000 response variables showed median speedups of approximately 100× while maintaining numerical accuracy.


License

GPL (>= 3)

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("fastrda")

0.2.0 by Zeynel Cebeci, 2 months ago


Browse source code at https://github.com/cran/fastrda


Authors: Zeynel Cebeci [aut, cre]


Documentation:   PDF Manual  


GPL (>= 3) license


Imports Rcpp, parallel, ggplot2

Suggests RhpcBLASctl, ggrepel, RColorBrewer, knitr, rmarkdown, vegan

Linking to Rcpp, RcppArmadillo

System requirements: OpenMP


See at CRAN