seriate_*
computes a permutation order for rows and/or columns.
permute
rearranges a data matrix according to a permutation order.
get_order
returns the seriation order for rows and columns.
refine_seriation
performs a partial bootstrap correspondence analysis
seriation.
seriate_reciprocal(object, ...) seriate_correspondence(object, subset, ...) permute(object, order, ...) refine_seriation(object, ...) get_order(object) # S4 method for PermutationOrder get_order(object) # S4 method for CountMatrix refine_seriation(object, cutoff, n = 1000, axes = c(1, 2), ...) # S4 method for CountMatrix seriate_reciprocal(object, EPPM = FALSE, margin = c(1, 2), stop = 100) # S4 method for IncidenceMatrix seriate_reciprocal(object, margin = c(1, 2), stop = 100) # S4 method for CountMatrix,missing seriate_correspondence(object, margin = c(1, 2), ...) # S4 method for IncidenceMatrix,missing seriate_correspondence(object, margin = c(1, 2), ...) # S4 method for CountMatrix,BootCA seriate_correspondence(object, subset, margin = c(1, 2), ...) # S4 method for CountMatrix,PermutationOrder permute(object, order) # S4 method for IncidenceMatrix,PermutationOrder permute(object, order)
object  An \(m \times p\) data matrix (typically an object of class CountMatrix or IncidenceMatrix. 

...  Further arguments to be passed to internal methods. 
subset  A BootCA object giving the subset of

order  A PermutationOrder object giving the permutation order for rows and columns. 
cutoff  A function that takes a numeric vector as argument and returns a single numeric value (see below). 
n  A nonnegative 
axes  A 
EPPM  A 
margin  A 
stop  An 
seriate_*
returns a PermutationOrder object.
permute
returns either a CountMatrix or an
IncidenceMatrix (the same as object
).
refine_seriation
returns a BootCA object.
Refining method can lead to much longer execution times and larger output
objects. To monitor the execution of these resampling procedures, a
progress bar will automatically be displayed if the
pbapply
package is installed on your machine.
The matrix seriation problem in archaeology is based on three conditions and two assumptions, which Dunell (1970) summarizes as follows.
The homogeneity conditions state that all the groups included in a seriation must:
Be of comparable duration.
Belong to the same cultural tradition.
Come from the same local area.
The mathematical assumptions state that the distribution of any historical or temporal class:
Is continuous through time.
Exhibits the form of a unimodal curve.
Theses assumptions create a distributional model and ordering is accomplished by arranging the matrix so that the class distributions approximate the required pattern. The resulting order is inferred to be chronological.
The following seriation methods are available:
Correspondence analysisbased seriation. Correspondence analysis (CA) is an effective method for the seriation of archaeological assemblages. The order of the rows and columns is given by the coordinates along one dimension of the CA space, assumed to account for temporal variation. The direction of temporal change within the correspondence analysis space is arbitrary: additional information is needed to determine the actual order in time.
Reciprocal ranking seriation. These procedures iteratively rearrange rows and/or columns according to their weighted rank in the data matrix until convergence. Note that this procedure could enter into an infinite loop. If no convergence is reached before the maximum number of iterations, it stops with a warning.
refine_seriation
allows to identify samples that are subject to
sampling error or samples that have underlying structural relationships
and might be influencing the ordering along the CA space.
This relies on a partial bootstrap approach to CAbased seriation where each
sample is replicated n
times. The maximum dimension length of
the convex hull around the sample point cloud allows to remove samples for
a given cutoff
value.
According to Peebles and Schachner (2012), "[this] point removal procedure [results in] a reduced dataset where the position of individuals within the CA are highly stable and which produces an ordering consistent with the assumptions of frequency seriation."
If the results of refine
is used as an input argument in
seriate
, a correspondence analysis is performed on the subset of
object
which matches the samples to be kept. Then excluded samples
are projected onto the dimensions of the CA coordinate space using the row
transition formulae. Finally, row coordinates onto the first dimension
give the seriation order.
Desachy, B. (2004). Le sériographe EPPM: un outil informatisé de sériation graphique pour tableaux de comptages. Revue archéologique de Picardie, 3(1), 3956. DOI: 10.3406/pica.2004.2396.
Dunnell, R. C. (1970). Seriation Method and Its Evaluation. American Antiquity, 35(03), 305319. DOI: 10.2307/278341.
Ihm, P. (2005). A Contribution to the History of Seriation in Archaeology. In C. Weihs & W. Gaul (Eds.), Classification: The Ubiquitous Challenge. Berlin Heidelberg: Springer, p. 307316. DOI: 10.1007/3540280847_34.
Peeples, M. A., & Schachner, G. (2012). Refining correspondence analysisbased ceramic seriation of regional data sets. Journal of Archaeological Science, 39(8), 28182827. DOI: 10.1016/j.jas.2012.04.040.
## Matrix seriation ## Replicates Desachy 2004 results ## Coerce dataset to abundance matrix compiegne_count < as_count(compiegne) ## Get seriation order for columns on EPPM using the reciprocal averaging method ## Expected column order: N, A, C, K, P, L, B, E, I, M, D, G, O, J, F, H (compiegne_indices < seriate_reciprocal(compiegne_count, EPPM = TRUE, margin = 2))#> <PermutationOrder: 0fced6f36dc146ce81fdffd06c25faef> #> Permutation order for matrix seriation: #>  Row order: 1 2 3 4 5... #>  Column order: 14 1 3 11 16 12 2 5 9 13 4 7 15 10 6 8... #>  Method: reciprocal## Permute columns compiegne_new < permute(compiegne_count, compiegne_indices) ## Plot new matrix plot_ford(compiegne_new, EPPM = FALSE)## Refined seriation ## See the vignette: # \donttest{ utils::vignette("seriation", package = "tabula")#> Warning: vignette ‘seriation’ not found# }