Skip to contents
  • event() fit a date event model.

  • predict_event() and predict_accumulation() estimates the event and accumulation dates of an assemblage.


event(object, dates, ...)

predict_event(object, data, ...)

predict_accumulation(object, data, ...)

# S4 method for data.frame,numeric
event(object, dates, cutoff = 90, level = 0.95, ...)

# S4 method for matrix,numeric
event(object, dates, cutoff = 90, level = 0.95, ...)

# S4 method for EventDate,missing
predict_event(object, margin = 1, level = 0.95)

# S4 method for EventDate,matrix
predict_event(object, data, margin = 1, level = 0.95)

# S4 method for EventDate,missing

# S4 method for EventDate,matrix
predict_accumulation(object, data)

# S4 method for EventDate
jackknife(object, level = 0.95, progress = getOption("kairos.progress"), ...)

# S4 method for EventDate
  level = 0.95,
  probs = c(0.05, 0.95),
  n = 1000,
  progress = getOption("kairos.progress"),



An \(m \times p\) numeric matrix or a data.frame of count data (absolute frequencies).


A numeric vector of dates expressed in CE years (BCE years must be given as negative numbers). If named, the names must match the row names of object.


Further arguments to be passed to internal methods.


A numeric matrix or a data.frame of count data (absolute frequencies)for which to predict event and accumulation dates.


An integer giving the cumulative percentage of variance used to select CA factorial components for linear model fitting (see details). All compounds with a cumulative percentage of variance of less than the cutoff value will be retained.


A length-one numeric vector giving the confidence level.


A numeric vector giving the subscripts which the prediction will be applied over: 1 indicates rows, 2 indicates columns.


A logical scalar: should a progress bar be displayed?


A numeric vector of probabilities with values in \([0,1]\) (see stats::quantile()). If NULL, quantiles are not computed.


A non-negative integer giving the number of bootstrap replications.



This is an implementation of the chronological modeling method proposed by Bellanger and Husi (2012, 2013).

Event and accumulation dates are density estimates of the occupation and duration of an archaeological site (Bellanger and Husi 2012, 2013). The event date is an estimation of the terminus post-quem of an archaeological assemblage. The accumulation date represents the "chronological profile" of the assemblage. According to Bellanger and Husi (2012), accumulation date can be interpreted "at best [...] as a formation process reflecting the duration or succession of events on the scale of archaeological time, and at worst, as imprecise dating due to contamination of the context by residual or intrusive material." In other words, accumulation dates estimate occurrence of archaeological events and rhythms of the long term.

This method relies on strong archaeological and statistical assumptions (see vignette("kairos")).


All results are rounded to zero decimal places (sub-annual precision does not make sense in most situations). You can change this behavior with options(kairos.precision = x) (for x decimal places).

Bellanger et al. did not publish the data supporting their demonstration: no replication of their results is possible. This implementation must be considered experimental and subject to major changes in a future release.


If jackknife() is used, one type/fabric is removed at a time and all statistics are recalculated. In this way, one can assess whether certain type/fabric has a substantial influence on the date estimate. A three columns data.frame is returned, giving the results of the resampling procedure (jackknifing fabrics) for each assemblage (in rows) with the following columns:


The jackknife mean (event date).


The jackknife estimate of bias.


The standard error of predicted means.

If bootstrap() is used, a large number of new bootstrap assemblages is created, with the same sample size, by resampling each of the original assemblage with replacement. Then, examination of the bootstrap statistics makes it possible to pinpoint assemblages that require further investigation.

A five columns data.frame is returned, giving the bootstrap distribution statistics for each replicated assemblage (in rows) with the following columns:


Minimum value.


Mean value (event date).


Maximum value.


Sample quantile to 0.05 probability.


Sample quantile to 0.95 probability.


Bellanger, L. & Husi, P. (2013). Mesurer et modéliser le temps inscrit dans la matière à partir d'une source matérielle : la céramique médiévale. In Mesure et Histoire Médiévale. Histoire ancienne et médiévale. Paris: Publication de la Sorbonne, p. 119-134.

Bellanger, L. & Husi, P. (2012). Statistical Tool for Dating and Interpreting Archaeological Contexts Using Pottery. Journal of Archaeological Science, 39(4), 777-790. doi:10.1016/j.jas.2011.06.031 .

Bellanger, L., Tomassone, R. & Husi, P. (2008). A Statistical Approach for Dating Archaeological Contexts. Journal of Data Science, 6, 135-154.

Bellanger, L., Husi, P. & Tomassone, R. (2006). Une approche statistique pour la datation de contextes archéologiques. Revue de Statistique Appliquée, 54(2), 65-81.

Bellanger, L., Husi, P. & Tomassone, R. (2006). Statistical Aspects of Pottery Quantification for the Dating of Some Archaeological Contexts. Archaeometry, 48(1), 169-183. doi:10.1111/j.1475-4754.2006.00249.x .

Poblome, J. & Groenen, P. J. F. (2003). Constrained Correspondence Analysis for Seriation of Sagalassos Tablewares. In Doerr, M. & Apostolis, S. (eds.), The Digital Heritage of Archaeology. Athens: Hellenic Ministry of Culture.

See also


Other dating methods: mcd()


N. Frerebeau


if (FALSE) {