iterpc: Efficient Iterator for Permutations and Combinations

Description Usage Arguments Value Examples

View source: R/iterpc.R

Description

Efficient Iterator for Permutations and Combinations

Initialize a iterator for permutations or combinations

Usage

1
2

Arguments

n

the length of the input sequence or a vector of frequencies for a multiset.

r

the length of the output sequence. If missing, equals to sum(n).

labels

if missing, natural numbers are used unless n is a table object. In that case, the names of n are used.

ordered

TRUE corresponds to permutation and FALSE corresponds to combinations.

replace

with/without replacement. Default is FALSE.

Value

a permutation/combination iterator

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#1) all combinations of drawing 2 items from {1, 2, 3}
I <- iterpc(5, 2)
getall(I)

#2) continuing 1), get combination by combination
I <- iterpc(5, 2)
getnext(I) # return 1,2
getnext(I) # return 1,3
getnext(I, 2) # return next 2 results

#3) 3) all permutations of {1, 2, 3} and use of labels
I <- iterpc(3, labels=c("a", "b", "c"), ordered=TRUE)
getall(I)

#4) permutations of multiset and
I <- iterpc(c(2, 1, 1), labels=c("a", "b", "c"), ordered=TRUE)
getall(I)

#5) combinations with replacement and the use of table as input
x <- c("a","a","b","c")
I <- iterpc(table(x), 3, replace=TRUE)
getall(I)

randy3k/iterpc documentation built on Jan. 9, 2020, 2:02 a.m.