Learn R Programming

arrangements (version 1.1.7)

Combinations: Combinations iterator

Description

This function returns a Combinations iterator for iterating combinations of k items from n items. The iterator allows users to fetch the next combination(s) via the getnext() method.

Usage

Combinations

icombinations(x, k = n, n = NULL, v = NULL, freq = NULL, replace = FALSE, skip = NULL)

Arguments

x

an integer or a vector, will be treated as n if integer; otherwise, will be treated as v

k

an integer, the number of items drawn

n

an integer, the total number of items, its actual value may be determined by other variables

v

a vector to be drawn

freq

an integer vector of item repeat frequencies

replace

an logical to draw items with replacement

skip

the number of combinations skipped

Format

An object of class R6ClassGenerator of length 24.

Details

The Combinations class can be initialized by using the convenient wrapper icombinations or

Combinations$new(n, k, v = NULL, freq = NULL, replace = FALSE)

getnext(d = 1L, layout = NULL, drop = NULL)
collect(layout = "row")
reset()
d

number of fetched arrangements

layout

if "row", "column" or "list" is specified, the returned value would be a "row-major" matrix, a "column-major" matrix or a list respectively

drop

vectorize a matrix or unlist a list

See Also

combinations for generating all combinations and ncombinations to calculate number of combinations

Examples

Run this code
# NOT RUN {
icomb <- icombinations(5, 2)
icomb$getnext()
icomb$getnext(2)
icomb$getnext(layout = "column", drop = FALSE)
# collect remaining combinations
icomb$collect()

library(foreach)
foreach(x = icombinations(5, 2), .combine=c) %do% {
  sum(x)
}
# }

Run the code above in your browser using DataLab