combinations function

Enumerate the Combinations of the Elements of a Vector

Enumerate the Combinations of the Elements of a Vector

combinations enumerates the possible combinations of a specified size from the elements of a vector.

combinations(n, r, v=1:n, set=TRUE, repeats.allowed=FALSE)

Arguments

  • n: Size of the source vector
  • r: Size of the target vectors
  • v: Source vector. Defaults to 1:n
  • set: Logical flag indicating whether duplicates should be removed from the source vector v. Defaults to TRUE.
  • repeats.allowed: Logical flag indicating whether the constructed vectors may include duplicated values. Defaults to FALSE.

Details

Caution: The number of combinations increases rapidly with n and r!.

To use values of n above about 45, you will need to increase R's recursion limit. See the expression argument to the options command for details on how to do this.

Returns

Returns a matrix where each row contains a vector of length r.

References

Venables, Bill. "Programmers Note", R-News, Vol 1/1, Jan. 2001. https://cran.r-project.org/doc/Rnews/

Author(s)

Original versions by Bill Venables Bill.Venables@cmis.csiro.au . Extended to handle repeats.allowed by Gregory R. Warnes greg@warnes.net .

Examples

combinations(3,2,letters[1:3]) combinations(3,2,c(1:3),repeats=TRUE) combinations(6,3,1:6,repeats=TRUE) # To use large 'n', you need to change the default recusion limit options(expressions=1e5) cmat <- combinations(100,2) dim(cmat) # 4950 by 2
  • Maintainer: Marta Nai Ruscone
  • License: GPL (>= 2)
  • Last published: 2024-08-19

Useful links