CRAN Version CRAN checks CRAN Downloads

Project Status: Active – The project has reached a stable, usable state and is being actively developed. lifecycle



An easy way to examine archaeological count data. This package provides a convenient and reproducible toolkit for relative and absolute dating and analysis of (chronological) patterns. It includes functions for matrix seriation (reciprocal ranking, CA-based seriation), chronological modeling and dating of archaeological assemblages and/or objects. Beyond these, the package provides several tests and measures of diversity: heterogeneity and evenness (Brillouin, Shannon, Simpson, etc.), richness and rarefaction (Chao1, Chao2, ACE, ICE, etc.), turnover and similarity (Brainerd-Robinson, etc.). The package make it easy to visualize count data and statistical thresholds: rank vs. abundance plots, heatmaps, Ford (1962) and Bertin (1977) diagrams.

To cite tabula in publications please use:

Frerebeau, N. (2019). tabula: An R Package for Analysis, Seriation, and Visualization of Archaeological Count Data. Journal of Open Source Software, 4(44), 1821. DOI 10.21105/joss.01821.


You can install the released version of tabula from CRAN with:

Or install the development version from GitHub with:


# Load packages


tabula provides a set of S4 classes that extend the basic matrix data type. These new classes represent different special types of matrix.

  • Abundance matrix:
    • CountMatrix represents count data,
    • FrequencyMatrix represents relative frequency data.
  • Logical matrix:
    • IncidenceMatrix represents presence/absence data.
  • Other numeric matrix:
    • OccurrenceMatrix represents a co-occurrence matrix.
    • SimilarityMatrix represents a (dis)similarity matrix.

It assumes that you keep your data tidy: each variable (type/taxa) must be saved in its own column and each observation (sample/case) must be saved in its own row.

These new classes are of simple use, on the same way as the base matrix:

tabula uses coercing mechanisms (with validation methods) for data type conversions:

Several types of graphs are available in tabula which uses ggplot2 for plotting informations. This makes it easy to customize diagrams (e.g. using themes and scales).

Spot matrix[1] allows direct examination of data:

Bertin or Ford (battleship curve) diagrams can be plotted, with statistic threshold (including B. Desachy’s sériographe).


This package provides an implementation of the chronological modeling method developed by Bellanger and Husi (2012). This method is slightly modified here and allows the construction of different probability density curves of archaeological assemblage dates (event, activity and tempo). Note that this implementation is experimental (see help(date_event)).


Diversity can be measured according to several indices (sometimes referred to as indices of heterogeneity):

Note that berger, mcintosh and simpson methods return a dominance index, not the reciprocal form usually adopted, so that an increase in the value of the index accompanies a decrease in diversity.

Corresponding evenness (i.e. a measure of how evenly individuals are distributed across the sample) can also be computed, as well as richness and rarefaction.

Several methods can be used to ascertain the degree of turnover in taxa composition along a gradient on qualitative (presence/absence) data. It assumes that the order of the matrix rows (from 1 to n) follows the progression along the gradient/transect.

Diversity can also be measured by addressing similarity between pairs of sites:

The Frequency Increment Test can be used to assess the detection and quantification of selective processes in the archaeological record[2].


Please note that the tabula project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

  1. Adapted from Dan Gopstein’s original idea.

  2. Adapted from Ben Marwick’s original idea.