icombinations {iterors} | R Documentation |
Iterator that generates all combinations of a vector taken m at a time.
Description
Constructs an iterator generates all combinations of a vector taken m
at a time. This function is similar to combn
.
Usage
icombinations(object, m, replacement = FALSE)
Arguments
object |
vector |
m |
the length of each combination |
replacement |
Generate combinations with replacement? Default: no. |
Details
By default, the combinations are without replacement so that elements are
not repeated. To generate combinations with replacement, set
replacement=TRUE
.
The function implementation is loosely based on the combinations
function from Python's itertools. Combinations with replacement are based on
combinations_with_replacement
from the same Python library.
Value
iterator that generates all combinations of object
Examples
# Combinations without replacement
it <- icombinations(1:4, m=2)
nextOr(it, NA) # c(1, 2)
nextOr(it, NA) # c(1, 3)
nextOr(it, NA) # c(1, 4)
nextOr(it, NA) # c(2, 3)
nextOr(it, NA) # c(2, 4)
nextOr(it, NA) # c(3, 4)
# Combinations without replacement
it <- icombinations(1:4, m=2, replacement=TRUE)
nextOr(it, NA) # c(1, 1)
nextOr(it, NA) # c(1, 2)
nextOr(it, NA) # c(1, 3)
nextOr(it, NA) # c(1, 4)
nextOr(it, NA) # c(2, 2)
nextOr(it, NA) # c(2, 3)
nextOr(it, NA) # c(2, 4)
nextOr(it, NA) # c(3, 3)
nextOr(it, NA) # c(3, 4)
nextOr(it, NA) # c(4, 4)
it3 <- icombinations(1:5, m=2)
as.list(it3)
utils::combn(x=1:5, m=2, simplify=FALSE)
[Package iterors version 1.0 Index]