The number assigned to each group is fixed by table(strata). If the group
sizes are \(n_1, \ldots, n_K\), the number of distinct assignments is
$$n! / \prod_{k=1}^K n_k!.$$
Each assignment is returned as a permutation of observation indices, so it
can be used wherever output from shuffle(), shuffleSet(), or allPerms()
is accepted. The relative order of observations originally belonging to the
same group is retained. This selects one canonical index permutation for
each distinct arrangement of the group labels and omits permutations that
differ only by reordering observations carrying the same label.
These functions are convenience wrappers for a design constructed with
Plots(strata = strata, type = "partition") and
Within(type = "none").