Overview
Simple radiocarbon calibration and chronological analysis. This package allows the calibration of radiocarbon ages and modern carbon fraction (F14C) values using multiple calibration curves. It allows the calculation of highest density region intervals and credible intervals. The package also provides tools for visualising results and estimating statistical summaries.
This package is currently experimental. This means that it is functional, but interfaces and functionalities may change over time, testing and documentation may be lacking.
To cite ananke in publications use:
Frerebeau N (2026). ananke: Quantitative Chronology in Archaeology. Université Bordeaux Montaigne, Pessac, France. doi:10.5281/zenodo.13236285 https://doi.org/10.5281/zenodo.13236285. R package version 0.2.0, https://packages.tesselle.org/ananke/.
This package is a part of the tesselle project https://www.tesselle.org.
Installation
You can install the released version of ananke from CRAN with:
install.packages("ananke")And the development version from Codeberg with:
# install.packages("remotes")
remotes::install_git("https://codeberg.org/tesselle/ananke")Usage
ananke uses aion for internal date representation. Look at vignette("aion", package = "aion") before you start.
## Data from Bosch et al. 2015
data("ksarakil")
## Graphical parameters
par(mar = c(4, 6, 1, 1) + 0.1) # Adjust margins
## Calibrate multiple ages
cal <- c14_calibrate(
values = ksarakil$date,
errors = ksarakil$error,
names = ksarakil$code,
curves = "marine13",
reservoir_offsets = 53,
reservoir_errors = 43,
from = 50000, to = 0
)
## Plot calibrated ages
ridgelines(cal, calendar = CE())
## 95% intervals
hdr95 <- interval_hdr(cal, level = 0.95)
as.data.frame(hdr95, calendar = CE())
#> label start end p
#> 1 GrA-53005 -28472 -27538 0.95
#> 2 GrA-54848 -30837 -29740 0.95
#> 3 GrA-53006 -36920 -35614 0.95
#> 4 GrA-57545 -38737 -37401 0.95
#> 5 GrA-54847 -41927 -40650 0.95
#> 6 GrA-57544 -38765 -37560 0.95
#> 7 GrA-57598 -39991 -38970 0.95
#> 8 GrA-57599 -41784 -40694 0.95
#> 9 GrA-53001 -36676 -35245 0.95
#> 10 GrA-54846 -41804 -40640 0.95
#> 11 GrA-57602 -39504 -38384 0.95
#> 12 GrA-57603 -40553 -39761 0.95
#> 13 GrA-57542 -39129 -37916 0.95
#> 14 GrA-53004 -41346 -40383 0.95
#> 15 GrA-57597 -42000 -40766 0.95
#> 16 GrA-53000 -42451 -41111 0.95
## Plot intervals
plot(hdr95, calendar = CE(), lwd = 2)
Translation
This package provides translations of user-facing communications, like messages, warnings and errors, and graphical elements (axis labels). The preferred language is by default taken from the locale. This can be overridden by setting of the environment variable LANGUAGE (you only need to do this once per session):
Sys.setenv(LANGUAGE = "<language code>")Languages currently available are English (en) and French (fr).
Related Works
- Bchron enables quick calibration of radiocarbon dates, age-depth modelling, relative sea level rate estimation, and non-parametric phase modelling.
- rcarbon includes functions not only for basic calibration, uncalibration, and plotting of one or more dates, but also a statistical framework for building demographic and related longitudinal inferences from aggregate radiocarbon date lists.
- rintcal consists of a data compilation of the IntCal radiocarbon calibration curves and provides a number of functions to assist with calibrating dates and plotting calibration curves.
Contributing
Please note that the ananke project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.