Linear Model Evaluation with Randomized Residuals in a Permutation Procedure

Linear model calculations are made for many random versions of data. Using residual randomization in a permutation procedure, sums of squares are calculated over many permutations to generate empirical probability distributions for evaluating model effects. This packaged is described by Collyer & Adams (2018) . Additionally, coefficients, statistics, fitted values, and residuals generated over many permutations can be used for various procedures including pairwise tests, prediction, classification, and model comparison. This package should provide most tools one could need for the analysis of high-dimensional data, especially in ecology and evolutionary biology, but certainly other fields, as well.

RRPP is a software package for evaluating linear models with residual randomization in a permutation procedure. S3 Generic used for the lm function can also be used with lm.rrpp, with the chief difference being that lm coefficients, fitted values, and residuals are estimated many times with random permutations of data.

To install the current RRPP R-package from CRAN:

Within R:


To install the current version of geomorph R-package from Github using devtools:

Within R:



The version on github is updated regularly, especially if errors or programming bugs are discovered.


RRPP VERSION 0.4.1 (Patch release)


OTHER CHANGES o Updated source in Description.

BUG FIXES o Fixed univariate data issue with model.comparison o Fixed xlab flexibility issue for regression plots in plot.procD.lm

CHANGES IN RRPP VERSION 0.4.0 (Minor release)

NEW FEATURES o manova.update function o trajectory.analysis function o reveal.model.designs function o New vignette for ANOVA versus MANOVA in RRPP

OTHER CHANGES o Added a pairwise variance comparison for the pairwise function.

BUG FIXES o Tuned F-stat calculations to allow for model-specific residual variances, for multiple terms. o Updated procD.lm to better work with data in the gloabl environment rather than a data frame.

CHANGES IN RRPP VERSION 0.3.0 (Minor release)

NEW FEATURES o Added print.summary.pairwise. o Added model.comparison function. o Added classify function. OTHER CHANGES o Added an update to allow classify to work on univeraite data. BUG FIXES o Tuned criterion for assessing whether generalized inverse should be performed. o Fixed bug with GLS variance estimation in pairwise. o Fixed some issues with univariate data for classify. o Fixed some issues with univariate data for pairwise. o Fixed the logL function within model.comparisons for GLS determinants (was returning 0). o Fixed some issues with the aov.multimodel subfunction of anova.lm.rrpp, related to GLS permutations and intercept only models.
o Added random SS output to aov.multimodel subfunction of anova.lm.rrpp, so that it can be called by other functions/packages.

CHANGES IN RRPP VERSION 0.2.0 (Minor release)

NEW FEATURES o pairwise function: allows pairwise comparison of means or slopes for a lm.rrpp fit. o A vignette for using RRPP, which is the same as Appendix S2 in Collyer and Adams (2008). RRPP: An R package for fitting linear models to high-dimensional data using residual randomization. Methods in Ecology and Evolution. (submitted)

OTHER CHANGES o Added multi-model inference capabaility to anova.lm.rrpp

BUG FIXES o Fixed issue for coef.lm.rrpp tests when type II or type III SS is chosen, to make sure that appropriate coefficients are used.

CHANGES IN RRPP VERSION 0.1.0 (Major release)

New Release!

New features

Reference manual

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


1.1.1 by Michael Collyer, 3 days ago

Browse source code at

Authors: Michael Collyer [aut, cre] , Dean Adams [aut]

Documentation:   PDF Manual  

GPL (>= 3) license

Imports parallel, ape, ggplot2, Matrix

Suggests knitr, rmarkdown, testthat, dplyr, tibble

Depended on by geomorph.

See at CRAN