combinations {gtools} | R Documentation |
Enumerate the Combinations or Permutations of the Elements of a Vector
Description
combinations
enumerates the possible combinations of a specified size
from the elements of a vector. permutations
enumerates the possible
permutations.
Usage
combinations(n, r, v = 1:n, set = TRUE, repeats.allowed = FALSE)
permutations(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 |
set |
Logical flag indicating whether duplicates should be removed from
the source vector |
repeats.allowed |
Logical flag indicating whether the constructed
vectors may include duplicated values. Defaults to |
Details
Caution: The number of combinations and permutations 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.
Taken from an email by Brian D Ripley <ripley@stats.ox.ac.uk> to r-help dated Tue, 14 Dec 1999 11:14:04 +0000 (GMT) in response to Alex Ahgarin datamanagement@email.com. Original version was named "subsets" and was Written by Bill Venables.
Value
Returns a matrix where each row contains a vector of length
r
.
Author(s)
Original versions by Bill Venables
Bill.Venables@cmis.csiro.au. Extended to handle
repeats.allowed
by Gregory R. Warnes greg@warnes.net.
References
Venables, Bill. "Programmers Note", R-News, Vol 1/1, Jan. 2001. https://cran.r-project.org/doc/Rnews/
See Also
Examples
combinations(3,2,letters[1:3])
combinations(3,2,letters[1:3],repeats=TRUE)
permutations(3,2,letters[1:3])
permutations(3,2,letters[1:3],repeats=TRUE)
## Not run:
# To use large 'n', you need to change the default recusion limit
options(expressions=1e5)
cmat <- combinations(300,2)
dim(cmat) # 44850 by 2
## End(Not run)