ser_permutation_vector function

Class ser_permutation_vector -- A Single Permutation Vector for Seriation

Class ser_permutation_vector -- A Single Permutation Vector for Seriation

The class ser_permutation_vector

represents a single permutation vector.

ser_permutation_vector(x, method = NULL) ## S3 method for class 'ser_permutation_vector' c(..., recursive = FALSE) ## S3 method for class 'ser_permutation_vector' rev(x) get_method(x, printable = FALSE) ## S3 method for class 'ser_permutation_vector' length(x) ## S3 method for class 'ser_permutation_vector' print(x, ...) ## S3 method for class 'ser_permutation_vector' summary(object, ...)

Arguments

  • x, object: an object if class ser_permutation_vector. Options for the constructor are: (1) an integer permutation vector, (2) an object of class hclust , (3) a numeric vector with a MDS configuration, or (4) NA to indicate a identity permutation.
  • method: a string representing the method used to obtain the permutation vector.
  • ...: further arguments.
  • recursive: ignored
  • printable: a logical; prints "unknown" instead of NULL for non-existing methods.

Returns

The constructor ser_permutation_vector() returns an object a ser_permutation_vector

Details

A permutation vector maps a set of nn objects O1,O2,...,On{O_1, O_2, ..., O_n} onto itself.

Ordering Representation:

In seriation we represent a permutation π\pi

as a vector which lists the objects' indices in their permuted order. This can be seen as replacing the object in position ii with the object in position π(i)\pi(i). For example, the permutation vector <3,1,2><3, 1, 2> indicates that in first position is the object with index 3 then the object with index 1 and finally the object with index 2. This representation is often called a (re)arrangement or ordering. The ordering can be extracted from a permutation vector object via get_order(). Such an ordering can be directly used to subset the list of original objects with "[" to apply the permutation.

Rank Representation:

An alternative way to specify a permutation is via a list of the ranks of the objects after permutation. This representation is often called a map or substitution. Ranks can be extracted from a permutation vector using get_rank().

Permutation Matrix:

Another popular representation is a permutation matrix which performs permutations using matrix multiplication. A permutation matrix can be obtained using get_permutation_matrix().

ser_permutation_vector objects are usually packed into a ser_permutation object which is a collection (a list) of kk permutation vectors for kk-mode data.

The constructor ser_permutation_vector()

checks if the permutation vector is valid (i.e. if all integers occur exactly once).

Examples

o <- structure(sample(10), names = paste0("X", 1:10)) o p <- ser_permutation_vector(o, "random") p ## some methods length(p) get_method(p) get_order(p) get_rank(p) get_permutation_matrix(p) r <- rev(p) r get_order(r) ## create a symbolic identity permutation vector (with unknown length) ## Note: This can be used to permute an object, but methods ## like length and get_order are not available. ip <- ser_permutation_vector(NA) ip

See Also

Other permutation: get_order(), permutation_vector2matrix(), permute(), ser_dist(), ser_permutation()

Author(s)

Michael Hahsler

  • Maintainer: Michael Hahsler
  • License: GPL-3
  • Last published: 2024-12-05