R-CMD-check codecov CodeFactor Dependencies

r-universe CRAN Version CRAN checks CRAN Downloads

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



A convenient and reproducible toolkit for relative and absolute dating and analysis of chronological patterns. This package includes functions for chronological modeling and dating of archaeological assemblages from count data. It provides methods for matrix seriation. It also allows to compute time point estimates and density estimates of the occupation and duration of an archaeological site. kairos provides methods for:

tabula is a companion package to kairos that provides functions for visualization and analysis of archaeological count data.

To cite kairos in publications use:

  Frerebeau N (2024). _kairos: Analysis of Chronological Patterns from
  Archaeological Count Data_. Université Bordeaux Montaigne, Pessac,
  France. doi:10.5281/zenodo.5653896
  <https://doi.org/10.5281/zenodo.5653896>, R package version 2.0.2,

A BibTeX entry for LaTeX users is

    author = {Nicolas Frerebeau},
    title = {{kairos: Analysis of Chronological Patterns from Archaeological Count Data}},
    year = {2024},
    organization = {Université Bordeaux Montaigne},
    address = {Pessac, France},
    note = {R package version 2.0.2},
    url = {https://packages.tesselle.org/kairos/},
    doi = {10.5281/zenodo.5653896},

This package is a part of the tesselle project


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


And the development version from GitHub with:

# install.packages("remotes")


## Load packages
#> Loading required package: dimensio

kairos v2.0 uses aion for internal date representation. Look at vignette("aion") before you start.

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.

## Data from Husi 2022
data("loire", package = "folio")
keep <- c("Anjou", "Blésois", "Orléanais", "Haut-Poitou", "Touraine")
loire <- subset(loire, area %in% keep)

## Get time range
loire_range <- loire[, c("lower", "upper")]

## Calculate aoristic sum (weights) by group
ao <- aoristic(loire_range, step = 50, weight = TRUE, groups = loire$area)

## Plot
plot(ao, col = "grey")

## Rate of change by group
ro <- roc(ao, n = 30)


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


Bellanger, L., and P. Husi. 2012. “Statistical Tool for Dating and Interpreting Archaeological Contexts Using Pottery.” Journal of Archaeological Science 39 (4): 777–90. https://doi.org/10.1016/j.jas.2011.06.031.

Ratcliffe, J. H. 2000. “Aoristic Analysis: The Spatial Interpretation of Unspecific Temporal Events.” International Journal of Geographical Information Science 14 (7): 669–79. https://doi.org/10.1080/136588100424963.

Roberts, J. M., B. J. Mills, J. J. Clark, W. R. Haas, D. L. Huntley, and M. A. Trowbridge. 2012. “A Method for Chronological Apportioning of Ceramic Assemblages.” Journal of Archaeological Science 39 (5): 1513–20. https://doi.org/10.1016/j.jas.2011.12.022.

South, S. A. 1977. Method and Theory in Historical Archaeology. Studies in Archeology. New York: Academic Press.