valid: Functions to validate permutations

validR Documentation

Functions to validate permutations

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

singleword_valid(w)
cyclist_valid(x)

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


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 Sept. 11, 2024, 6:10 p.m.