Permutations {arrangements} R Documentation

Permutations iterator

Description

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

Usage

Permutations

ipermutations(x = NULL, k = NULL, 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. Should not be specified together with n and v. k an integer, the number of items drawn, defaults to n if freq is NULL else sum(freq) n an integer, the total number of items, its value may be implicitly deduced from length(v) or length(freq) v a vector to be drawn, defaults to 1:n. 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 25.

Details

The Permutations class can be initialized by using the convenient wrapper ipermutations or

Permutations\$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

permutations for generating all permutations and npermutations to calculate number of permutations

Examples

iperm <- ipermutations(5, 2)
iperm\$getnext()
iperm\$getnext(2)
iperm\$getnext(layout = "column", drop = FALSE)
# collect remaining permutations
iperm\$collect()

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

[Package arrangements version 1.1.9 Index]