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 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.

anova() and anova_fastrda())print(), summary(), predict(), scores(), plot(), biplot())install.packages("fastrda")
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)
anova(fit, permutations = 999)
biplotrda(fit)
| Mode | Recommended use |
|---|---|
"minimal" |
Permutation testing (recommended default) |
"compact" |
Prediction for new data |
"full" |
Prediction and permutation testing |
"none" |
Lowest memory usage |
The package vignette contains a complete workflow and additional examples.
vignette("fastrda")
Browse all available documentation:
help(package = "fastrda")
or
browseVignettes("fastrda")
Internal benchmarks on synthetic datasets containing up to 10,000 response variables showed median speedups of approximately 100× while maintaining numerical accuracy.
GPL (>= 3)