permute v0.9-5


Monthly downloads



Functions for Generating Restricted Permutations of Data

A set of restricted permutation designs for freely exchangeable, line transects (time series), and spatial grid designs plus permutation of blocks (groups of samples) is provided. 'permute' also allows split-plot designs, in which the whole-plots or split-plots or both can be freely-exchangeable or one of the restricted designs. The 'permute' package is modelled after the permutation schemes of 'Canoco 3.1' (and later) by Cajo ter Braak.


Restricted permutations with R

Released version

CRAN version

Build status

Build Status Build status

What is permute?

permute generates permutations from a range of restricted permutation designs.

Permute provides an R implementation of the permutation schemes developed by Cajo ter Braak and made available in the Canoco software, version 3.1 (ter Braak, 1990). These permutation schemes draw upon ideas from an earlier paper by Besag & Clifford (1989).

Several types of permutation are available in permute:

  • Free permutation of objects
  • Time series or line transect designs, where the temporal or spatial ordering is preserved.
  • Spatial grid designs, where the spatial ordering is preserved in both coordinate directions
  • Permutation of plots or groups of samples.
  • Blocking factors which restrict permutations to within blocks. The preceding designs can be nested within blocks, allowing analysis of hierachical designs (e.g. split plot designs)


Besag, J. and Clifford, P. (1989) Generalized Monte Carlo significance tests. Biometrika 76; 633–642.

ter Braak, C. J. F. (1990). Update notes: CANOCO version 3.1. Wageningen: Agricultural Mathematics Group. (UR).

Functions in permute

Name Description
check Utility functions for permutation schemes
shuffle Unrestricted and restricted permutations
shuffleSet Generate a set of permutations from the specified design.
allPerms Complete enumeration of all possible permutations
nobs-methods Number of observations in a given object
numPerms Number of possible permutations for a given object
allUtils Utility functions for complete enumeration of all possible permutations
set-methods Replacement functions to set components of a permutation design
shuffle-utils Utility functions for unrestricted and restricted permutations
how How to define a permutation design?
jackal Mandible lengths of male and female golden jackals
get-methods Extractor functions to access components of a permutation design
No Results!

Vignettes of permute

No Results!

Last month downloads


Date 2019-03-10
License GPL-2
ByteCompile true
Copyright see file COPYRIGHTS
NeedsCompilation no
Packaged 2019-03-10 22:40:39 UTC; gavin
Repository CRAN
Date/Publication 2019-03-12 09:40:08 UTC

Include our badge in your README