Learn R Programming

kairos (version 2.1.1)

seriate_average: Correspondence Analysis-Based Seriation

Description

Correspondence Analysis-Based Seriation

Usage

seriate_average(object, ...)

# S4 method for data.frame seriate_average(object, margin = c(1, 2), axes = 1, ...)

# S4 method for matrix seriate_average(object, margin = c(1, 2), axes = 1, ...)

Value

An AveragePermutationOrder object.

Arguments

object

A \(m \times p\) numeric matrix or data.frame of count data (absolute frequencies giving the number of individuals for each category, i.e. a contingency table). A data.frame will be coerced to a numeric matrix via data.matrix().

...

Further arguments to be passed to internal methods.

margin

A numeric vector giving the subscripts which the rearrangement will be applied over: 1 indicates rows, 2 indicates columns, c(1, 2) indicates rows then columns, c(2, 1) indicates columns then rows.

axes

An integer vector giving the subscripts of the CA axes to be used.

Author

N. Frerebeau

Details

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.

References

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. 307-316. tools:::Rd_expr_doi("10.1007/3-540-28084-7_34").

See Also

dimensio::ca()

Other seriation methods: permute(), seriate_rank(), seriate_refine()

Examples

Run this code
## Replicates Desachy 2004 results
data("compiegne", package = "folio")

## 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
(indices <- seriate_rank(compiegne, EPPM = TRUE, margin = 2))

## Get permutation order
get_order(indices, 1) # rows
get_order(indices, 2) # columns

## Permute columns
(new <- permute(compiegne, indices))

## See the vignette
if (FALSE) {
utils::vignette("seriation")
}

Run the code above in your browser using DataLab