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 n objects O1,O2,...,On onto itself.
Ordering Representation:
In seriation we represent a permutation π
as a vector which lists the objects' indices in their permuted order. This can be seen as replacing the object in position i with the object in position π(i). For example, the permutation vector <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 k permutation vectors for k-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 methodslength(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()