Probabilistic decomposition of archaeological palimpsests using Stratigraphic Entanglement Fields.
If you use palimpsestr in your research, please cite the
software:
Cocca, E. (2026). palimpsestr: Probabilistic Decomposition of Archaeological Palimpsests. R package version 0.12.0. Zenodo. https://doi.org/10.5281/zenodo.19881542
If you refer to the methodological framework, please cite the preprint:
Cocca, E., Montagnetti, R., & Cattani, M. (2026). palimpsestR: An R Package for the Identification and Probabilistic Decomposition of Archaeological Palimpsests. Zenodo. https://doi.org/10.5281/zenodo.19969277
# install.packages("remotes")
remotes::install_github("enzococca/palimpsestr")palimpsestr models each archaeological find as a probabilistic member of latent depositional phases by integrating spatial proximity, stratigraphic depth, chronological overlap, and cultural similarity via diagonal Gaussian mixture EM.
Three statistics quantify the deposit:
library(palimpsestr)
# Simulate a 3-phase deposit with 30% mixing
x <- archaeo_sim(n = 200, k = 3, mixing = 0.30, seed = 42)
# Fit the SEF model
fit <- fit_sef(x, k = 3, context = "context")
print(fit)
summary(fit)
# Visualisation (base R)
plot_phasefield(fit)
plot_entropy(fit)
# ggplot2 equivalents (requires ggplot2)
gg_phasefield(fit)
gg_entropy(fit)
gg_energy(fit)
gg_intrusions(fit)
# Intrusion detection
detect_intrusions(fit)
# Compare multiple K values
compare_k(x, k_values = 2:6, context = "context")data(demo_easy) # 3 phases, 5% mixing
data(demo_moderate) # 3 phases, 30% mixing
data(demo_compressed) # 4 phases, 50% mixing
data(villa_romana) # Real data: Poggio Gramignano (VRPG 3004)bootstrap_sef())cv_sef(), optimize_weights())as_sf_phase(),
as_sf_links())gg_map())report_sef())read_db())MIT