Restricted permutations; using the permute package
Introduction | Simple randomisation | The shuffle() and shuffleSet() functions | Generating restricted permutations | Generating sets of permutations with shuffleSet() | Defining permutation designs | Set the number of permutations | The levels of the permutation hierarchy | Permuting samples at the lowest level | Permuting samples at the Plot level | Specifying blocks; the top of the permute hierarchy | Examples | Using permute in R functions | Accesing and changing permutation designs | Computational details