
## S3 method for class 'dist':
seriate(x, method = "ARSA", control = NULL, \ldots)
## S3 method for class 'matrix':
seriate(x, method = "PCA", control = NULL,
margin = c(1,2), ...)
## S3 method for class 'array':
seriate(x, method = "PCA", control = NULL,
margin = seq(length(dim(x))), ...)
1
indicates rows, 2
indicates columns, c(1,2)
indicates rows and columns. For array, margin gets a vector with
the dimensions to seriaser_permutation
.list_seriation_methods
for help.Many seriation methods (heuristically) optimize (minimize or maximize)
an objective function.
The value of the function for a given seriation can be calculated using
criterion
. In this manual page we only state the measure
which is optimized (using bold font).
A definition of the measures can be found in the
criterion
manual page.
Two-way two-mode data has to be provided as a dist object (not as a symmetric
matrix). Similarities have to be transformed in a suitable way into
dissimilarities. Currently the following methods are implemented for dist:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Two-way two mode data are general positive matrices. Currently the following methods are implemented for matrix: [object Object],[object Object],[object Object],[object Object],[object Object]
For array no built-in methods are currently available.
Bar-Joseph, Z., E. D. Demaine, D. K. Gifford, and T. Jaakkola. (2001): Fast Optimal Leaf Ordering for Hierarchical Clustering. Bioinformatics, 17(1), 22--29.
Bezdek, J.C. and Hathaway, R.J. (2002): VAT: a tool for visual assessment of (cluster) tendency. Proceedings of the 2002 International Joint Conference on Neural Networks (IJCNN '02), Volume: 3, 2225--2230.
Brusco, M., Koehn, H.F., and Stahl, S. (2007): Heuristic Implementation of Dynamic Programming for Matrix Permutation Problems in Combinatorial Data Analysis. Psychometrika, conditionally accepted.
Brusco, M., and Stahl, S. (2005): Branch-and-Bound Applications in Combinatorial Data Analysis. New York: Springer.
Chen, C. H. (2002): Generalized Association Plots: Information Visualization via Iteratively Generated Correlation Matrices. Statistica Sinica, 12(1), 7--29.
Ding, C. and Xiaofeng He (2004): Linearized cluster assignment via spectral ordering. Proceedings of the Twenty-first International Conference on Machine learning (ICML '04).
Climer, S. and Xiongnu Zhang (2006): Rearrangement Clustering: Pitfalls, Remedies, and Applications, Journal of Machine Learning Research, 7(Jun), 919--943.
Friendly, M. (2002): Corrgrams: Exploratory Displays for Correlation Matrices. The American Statistician, 56(4), 316--324.
Gruvaeus, G. and Wainer, H. (1972): Two Additions to Hierarchical Cluster Analysis, British Journal of Mathematical and Statistical Psychology, 25, 200--206.
Hurley, Catherine B. (2004): Clustering Visualizations of Multidimensional Data. Journal of Computational and Graphical Statistics, 13(4), 788--806.
Lenstra, J.K (1974): Clustering a Data Array and the Traveling-Salesman Problem, Operations Research, 22(2) 413--414.
McCormick, W.T., P.J. Schweitzer and T.W. White (1972): Problem decomposition and data reorganization by a clustering technique, Operations Research, 20(5), 993--1009.
Tsafrir, D., Tsafrir, I., Ein-Dor, L., Zuk, O., Notterman, D.A. and Domany, E. (2005): Sorting points into neighborhoods (SPIN): data analysis and visualization by ordering distance matrices, Bioinformatics, 21(10) 2301--8.
list_seriation_methods
,
criterion
,
solve_TSP
in hclust
in ## show available seriation methods (for dist and matrix)
show_seriation_methods("dist")
show_seriation_methods("matrix")
##seriate dist
data("iris")
x <- as.matrix(iris[-5])
x <- x[sample(1:nrow(x)),]
d <- dist(x)
## default seriation
order <- seriate(d)
order
## plot
pimage(d, main = "Random")
pimage(d, order, main = "Reordered")
## compare quality
rbind(
random = criterion(d),
reordered = criterion(d, order)
)
## seriate matrix
data("iris")
x <- as.matrix(iris[-5])
## to make the variables comparable, we scale the data
x <- scale(x, center = FALSE)
## try some methods
pimage(x, main = "original data")
criterion(x)
order <- seriate(x, method = "BEA_TSP")
pimage(x, order, main = "TSP to optimize ME")
criterion(x, order)
order <- seriate(x, method = "PCA")
pimage(x, order, main = "First principal component")
criterion(x, order)
## 2 TSPs
order <- c(
seriate(dist(x), method = "TSP"),
seriate(dist(t(x)), method = "TSP")
)
pimage(x, order, main = "2 TSPs")
criterion(x, order)
Run the code above in your browser using DataLab