Rank Combinations and Permutations
combinatoricsRank.RdGenerate the rank (lexicographically) of combinations/permutations. These functions are the complement to
comboSampleandpermuteSample. See the examples below.GMP support allows for exploration of combinations/permutations of vectors with many elements.
Usage
comboRank(..., v, repetition = FALSE, freqs = NULL)
permuteRank(..., v, repetition = FALSE, freqs = NULL)Arguments
- ...
vectors or matrices to be ranked.
- v
Source vector. If
vis a positive integer, it will be converted to the sequence1:v. Ifvis a negative integer, it will be converted to the sequencev:-1. All atomic types are supported (Seeis.atomic).- repetition
Logical value indicating whether combinations/permutations should be with or without repetition. The default is
FALSE.- freqs
A vector of frequencies used for producing all combinations/permutations of a multiset of
v. Each element offreqsrepresents how many times each element of the source vector,v, is repeated. It is analogous to thetimesargument inrep. The default value isNULL.
Details
These algorithms rely on efficiently ranking the \(n^{th}\) lexicographical combination/permutation.
Value
A vector of class integer, numeric, or bigz determined by the total number of combinations/permutations
Examples
mySamp = comboSample(30, 8, TRUE, n = 5, seed = 10, namedSample = TRUE)
myRank = comboRank(mySamp, v = 30, repetition = TRUE)
all.equal(as.integer(rownames(mySamp)), myRank)
#> [1] TRUE