order: Improving the Presentation of Matrix Objects
Description
High-level functions that improve the presentation of a matrix or data
frame by reordering their rows and columns.
Usage
order.dist(x, index = FALSE)
order.matrix(x, type = "neumann", by = c("both","rows","cols"),
index = FALSE)
order.data.frame(x, type = "neumann", by = c("both","rows","cols"),
index = FALSE)
Arguments
x
an object of class dist, matrix, or
data.frame.
type
the type of stress measure to use (see details).
by
option to order either by rows, or columns, or both.
index
option to return the order index(ex) instead of the
reordered object.
Value
Either the reordered object supplied, or a vector of subscripts (for
reorder.dist), or a list with components rows and
columns containing the order indexes (for reorder.matrix
and reorder.data.frame).
Details
These functions try to improve the presentation of an object of class
dist, matrix, or
data.frame by reordering the rows
and columns such that similar entries are grouped together.
order.dist uses a simple heuristic to solve the TSP problem of
finding an ordering of minimum length (see order.length) for an
object of class dist. Note that the heuristic used is quick but
more elaborate TSP algorithms will produce better orderings.
order.matrix tries to minimize the stress measure of a matrix
(see stress by using the same TSP heuristic as above, once for
the column and once for the row ordering (while the other dimension is
fixed) if by = "both".
order.data.frame uses attributes of type numeric
and logical only, combines them into a normalized matrix and
finds an ordering as above.