valid: Functions to validate permutations

Description Usage Arguments Value Author(s) See Also Examples

Description

Functions to validate permutation objects: if valid, return TRUE and if not valid, generate a warning() and return FALSE.

Function singleword.valid() takes an integer vector, interpreted as a word, and checks that it is a permutation of seq_len(max(x)).

Function cycle.valid() takes a cyclist and checks for disjoint cycles of strictly positive integers with no repeats.

Usage

1
2

Arguments

x

In function cycle_valid(), a cyclist

w

In function singleword_valid(), an integer vector

Value

Returns either TRUE, or stops with an informative error message

Author(s)

Robin K. S. Hankin

See Also

cyclist

Examples

1
2
3
4
5
6
7
8
9
singleword_valid(sample(1:9))      # TRUE
singleword_valid(c(3L,4L,2L,1L))   # TRUE
singleword_valid(c(3,4,2,1))       # FALSE (not integer)
singleword_valid(c(3L,3L,2L,1L))   # FALSE (3 repeated)

cyclist_valid(list(c(1,8,2),c(3,6))) # TRUE
cyclist_valid(list(c(1,8,2),c(3,6))) # FALSE ('8' is repeated)
cyclist_valid(list(c(1,8,1),c(3,6))) # FALSE ('1' is repeated)
cyclist_valid(list(c(0,8,2),c(3,6))) # FALSE (zero element)

permutations documentation built on Nov. 13, 2020, 1:14 a.m.