Infrastructure for Ordering using Seriation - R Package
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
R The current evaluation of convergence settles on the first element Jul 21, 2017
data Added Supreme court data. Mar 3, 2017
inst update format. Feb 27, 2017
man Added seriation method SA. Apr 3, 2017
src seriation method "BEA" is now not longer masked by "BEA_TSP". Also th… Jun 26, 2017
tests Added documentation and simplified code. Aug 20, 2016
.Rbuildignore include NEWS into the package. Sep 6, 2016
.gitignore Initial commit. Oct 11, 2015
.travis.yml Initial commit. Oct 11, 2015
NAMESPACE Added seriation method SA. Apr 3, 2017 New release. Feb 5, 2018 Fixed github install code. Jun 8, 2017
appveyor.yml Initial commit. Oct 11, 2015

seriation - Infrastructure for Ordering Objects Using Seriation - R package

CRAN version CRAN RStudio mirror downloads Travis-CI Build Status AppVeyor Build Status

This package provides the infrastructure for seriation with an implementation of several seriation/sequencing techniques to reorder matrices, dissimilarity matrices, and dendrograms (see below for a full list). Also provides (optimally) reordered heatmaps, color images and clustering visualizations like dissimilarity plots, and visual assessment of cluster tendency plots (VAT and iVAT).


Stable CRAN version: install from within R with


Current development version: Download package from AppVeyor or install from GitHub (needs devtools).



Load library, read data and calculate distances. Then use default seriation.

x <- as.matrix(iris[-5])
x <- x[sample(1:nrow(x)),]

d <- dist(x)
order <- seriate(d)
object of class ‘ser_permutation’, ‘list’
contains permutation vectors for 1-mode data

  vector length seriation method
1           150             ARSA

Compare quality.

 random = criterion(d),
 reordered = criterion(d, order)
          AR_events AR_deviations       RGAR Gradient_raw Gradient_weighted Path_length
random       550620    948833.712 0.49938328          741         -1759.954   392.77766
reordered     54846      9426.094 0.04974243       992214       1772123.418    83.95758
            Inertia Least_squares       ME Moore_stress Neumann_stress     2SUM      LS
random    214602194      78852819 291618.0    927570.00     461133.357 29954845 5669489
reordered 356945979      76487641 402332.1     13593.32       5274.093 17810802 4486900

Available Seriation Methods

For dissimilarity data:

  • Branch-and-bound to minimize the unweighted/weighted column gradient
  • DendSer - Dendrogram seriation heuristic to optimize various criteria
  • GA - Genetic algorithm with warm start to optimize various criteria
  • HC - Hierarchical clustering (single link, avg. link, complete link)
  • GW - Hierarchical clustering reordered by Gruvaeus and Wainer heuristic
  • OLO - Hierarchical clustering with optimal leaf ordering
  • Identity permutation
  • MDS - Multidimensional scaling (metric, non-metric, angle)
  • ARSA - Simulated annealing (linear seriation)
  • TSP - Traveling sales person solver to minimize Hamiltonian path length
  • R2E - Rank-two ellipse seriation
  • Random permutation
  • Spectral seriation (unnormalized, normalized)
  • SPIN - Sorting points into neighborhoods (neighborhood algorithm, side-to-site algorithm)
  • VAT - Visual assessment of clustering tendency ordering
  • QAP - Quadratic assignment problem heuristic (2-SUM, linear seriation, inertia, banded anti-Robinson form)

For matrices:

  • BEA - Bond Energy Algorithm to maximize the measure of effectiveness (ME)
  • Identity permutation
  • PCA - First principal component or angle on the projection on the first two principal components
  • Random permutation
  • TSP - Traveling sales person solver to maximize ME