analog {analogue}R Documentation

Analogue matching


Analogue matching is a more general implementation of the modern analogue methodology than MAT, where we are only interested in identifying sufficiently similar samples from a modern training as being suitable modern analogues for one or more fossil samples.


analog(x, ...)

## Default S3 method:
analog(x, y,
       method = c("euclidean", "SQeuclidean", "chord", "SQchord",
                  "bray", "chi.square", "SQchi.square",
                  "information", "chi.distance", "manhattan",
                  "kendall", "gower", "alt.gower", "mixed"),
       keep.train = TRUE, ...)

## S3 method for class 'distance'
analog(x, train = NULL, keep.train = TRUE, ...)


x, y

data frames with same columns. x is training data and y, the test data.


character string naming the dissimilarity methods to be used. See Details below.


logical; should the dissimilarity matrix for the training set be stored?


a pre-computed dissimilarity matrix for the training set samples. Objects of classes "dist", "vegdist", and "distance" are currently accepted.


arguments passed to or from other methods.


analog implements analogue matching sensu Flower et al (1997) and Simpson et al (2005), where the aim is to identify suitable close analogues of fossil samples from a modern training set. These results are generally used within ecological restoration, but the identification of close modern analogues for fossil samples is also used as a technique for assessing transfer function reconstructions.

analog is a simple and very general function that generates a pairwise dissimilarity matrix for the modern training set, and a second matrix containing the pairwise dissimilarities between each fossil sample and each sample in the training set. These results can then be assessed using other functions and to extract the close modern analogues using function cma. See the See Also section below.

Analysis of the pairwise dissimilarity matrix for the modern training set can be used to decide on a suitable dissimilarity threshold for defining close modern analogues. By default this matrix is returned as part of the output from the analog function.


A list of class "analog" with the following components:


matrix of pairwise dissimilarities between each fossil sample (y) and each sample in the modern training set (x).


if argument keep.train is TRUE then a pairwise dissimilarity matrix for the modern training set.


the matched function call.


character; the dissimilarity coefficient used.


Gavin L. Simpson


Flower, R.J., Juggins, S. and Battarbee, R.W. (1997) Matching diatom assemblages in lake sediment cores and modern surface sediment samples: the implications for lake conservation and restoration with special reference to acidified systems. Hydrobiologia 344; 27–40.

Simpson, G.L., Shilland, E.M., Winterbottom, J. M. and Keay, J. (2005) Defining reference conditions for acidified waters using a modern analogue approach. Environmental Pollution 137; 119–133.

See Also

distance for the function that calculates the dissimilarity matrices. cma for extraction of close modern analogues. dissimilarities and plot.dissimilarities for analysis of distribution of pairwise dissimilarity matrix for modern training set.


## Imbrie and Kipp example
## load the example data

## merge training and test set on columns
dat <- join(ImbrieKipp, V12.122, verbose = TRUE)

## extract the merged data sets and convert to proportions
ImbrieKipp <- dat[[1]] / 100
V12.122 <- dat[[2]] / 100

## Imbrie and Kipp foraminfera sea-surface temperature

## analog matching between SWAP and RLGH core
ik.analog <- analog(ImbrieKipp, V12.122, method = "chord")

## Can take pre-computed dissimilarity objects
d1 <- distance(ImbrieKipp, V12.122)
d2 <- distance(ImbrieKipp)
ik <- analog(d1, d2, keep.train = TRUE)

[Package analogue version 0.17-6 Index]