date_event fit a date event model.

predict_event estimates the event and accumulation dates of an assemblage.

date_event(object, dates, ...)

predict_event(object, data, ...)

# S4 method for CountMatrix,numeric
date_event(object, dates, cutoff = 90, ...)

# S4 method for DateModel,missing
predict_event(object, level = 0.95, ...)

# S4 method for DateModel,CountMatrix
predict_event(object, data, level = 0.95, ...)



A CountMatrix or a DateModel object.


A numeric vector of dates. If named, the names must match the row names of object.


Further arguments to be passed to internal methods.


A CountMatrix object 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.


date_event returns an object of class DateModel.

predict_event returns an object of class DateEvent.


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. Use it only if you know what you are doing (see references below and the vignette: utils::vignette("dating", package = "tabula")).


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

Date Model Checking

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 six columns data.frame is returned, giving the results of the resampling procedure (jackknifing fabrics) for each assemblage (in rows) with the following columns:


An identifier to link each row to an assemblage.


The jackknife event date estimate.


The lower boundary of the associated prediction interval.


The upper boundary of the associated prediction interval.


The standard error of predicted means.


The jackknife estimate of bias.

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: date_mcd()


N. Frerebeau


## Mean Ceramic Date ## Coerce the zuni dataset to an abundance (count) matrix zuni_counts <- as_count(zuni) ## Set the start and end dates for each ceramic type zuni_dates <- list( LINO = c(600, 875), KIAT = c(850, 950), RED = c(900, 1050), GALL = c(1025, 1125), ESC = c(1050, 1150), PUBW = c(1050, 1150), RES = c(1000, 1200), TULA = c(1175, 1300), PINE = c(1275, 1350), PUBR = c(1000, 1200), WING = c(1100, 1200), WIPO = c(1125, 1225), SJ = c(1200, 1300), LSJ = c(1250, 1300), SPR = c(1250, 1300), PINER = c(1275, 1325), HESH = c(1275, 1450), KWAK = c(1275, 1450) ) ## Calculate date midpoints zuni_mid <- vapply(X = zuni_dates, FUN = mean, FUN.VALUE = numeric(1)) ## Calculate MCD ## (we use a bootstrapping procedure to estimate the confidence interval) zuni_mcd <- date_mcd(zuni_counts, dates = zuni_mid) head(zuni_mcd)
#> date lower upper #> LZ1105 1162.5000 1161.6253 1163.7935 #> LZ1103 1137.8378 1136.3041 1139.5966 #> LZ1100 1154.4643 1151.4066 1155.0416 #> LZ1099 1090.6250 1090.2343 1090.7594 #> LZ1097 1092.1875 1085.0092 1091.5314 #> LZ1096 841.0714 835.8282 843.3111
## Event and accumulation dates (Bellanger et al.) ## See the vignette: # \donttest{ utils::vignette("dating", package = "tabula")
#> Warning: vignette ‘dating’ not found
# }