working with temporal uncertainties - introduction to the aoristic method
R
joining 2 tables
creating a new variable based on condition in different variable
some tips and tricks for your ggplot
Radiocarbon dating
Evocation
What’s the difference between absolute dating and relative dating?
How the archaeologists estimated absolute dates before invention of the radiocarbon dating?
Can you tell other methods of absolute dating?
How RC dating works
A very simple introduction
It is based on measurement of proportion of radioactive 14C in organic material.
Plants are absorbing 14C from atmosphere which then continues to animals and humans through food chain.
After the dead of the organism the 14C starts to decay, and by measuring proportion of the 14C still in the body and comparing it with the amount of 14C in atmosphere, we can measure time when the organism died.
Since the amount of the 14C in atmosphere varies during time, we need to calibrate the results with so called “calibration curve”.
Keep in mind that we are not dating a date of creation of the archaeological context, but date of the death of the organism, be it human individual, grain, or a tree.
DateID MedianBP OneSigma_BP_1 OneSigma_BP_2 OneSigma_BP_3 TwoSigma_BP_1
1 1 4464 4565 to 4562 4528 to 4406 4364 to 4360 4783 to 4768
TwoSigma_BP_2 TwoSigma_BP_3 TwoSigma_BP_4
1 4614 to 4596 4583 to 4288 4272 to 4250
Median of the calibrated date is 4464 BP
Quick plot
plot(cal_date)
Improving your plot
plot(cal_date, calendar ="BCAD", HPD =TRUE)
argument HPD higlights confidence of the posterior density, by default set to 95% (2 standard deviations)
Why I can’t get single BCE number?
Plotting multiple samples
let’s create a subset with samples from our site, dated to the Final Eneolithic and Early Bronze Age and having no dating errors
DateID MedianBP OneSigma_BP_1 OneSigma_BP_2 OneSigma_BP_3 OneSigma_BP_4
1 Erl-4709 4240 4383 to 4374 4352 to 4329 4297 to 4150 NA to NA
2 Erl-4710 4267 4398 to 4372 4353 to 4328 4299 to 4225 4204 to 4155
3 Erl-4714 4107 4228 to 4202 4156 to 4067 4046 to 3987 NA to NA
4 Erl-4715 4125 4232 to 4199 4183 to 4167 4159 to 4080 4037 to 3994
OneSigma_BP_5 TwoSigma_BP_1 TwoSigma_BP_2 TwoSigma_BP_3 TwoSigma_BP_4
1 NA to NA 4411 to 4141 4130 to 4091 NA to NA NA to NA
2 NA to NA 4412 to 4148 4116 to 4098 NA to NA NA to NA
3 NA to NA 4343 to 4338 4292 to 3960 3950 to 3924 NA to NA
4 NA to NA 4349 to 4332 4295 to 3970 3944 to 3930 NA to NA
in recent years, radiocarbon data are being widely used for determining relative demography
different methods, e.g. summed probability distribution (SPD) or kernel density estimation (KDE)
SPD, From Kolář, J., Macek, M., Tkáč, P., Novák, D., & Abraham, V. 2022. Long-term demographic trends and spatio-temporal distribution of past human activity in Central Europe: Comparison of archaeological and palaeoecological proxies. Quaternary Science Reviews 297: p.107834
RC Dates as proxies for demography
SPD - model, From Kolář, J., Macek, M., Tkáč, P., Novák, D., & Abraham, V. 2022. Long-term demographic trends and spatio-temporal distribution of past human activity in Central Europe: Comparison of archaeological and palaeoecological proxies. Quaternary Science Reviews 297: p.107834.
Where to find more info
This article provides step-by-step instruction for plenty other analyses, e.g. SPD
c14 - package for “tidy” workflow with 14C data (in experimental phase)
c14bazAAR - archive of different open access radiocarbon databases
stratigraphr - package for stratigraphy and chronology
Exercise
Clean your workspace, create a new script in your project folder, load the database LASOLES.
Create a new dataframe with data from burial site Vedrovice - Široká u lesa, dated to Linear Pottery Culture.
Calibrate all the data and create a multiplot.
Hints: ne.lin, filter(), multiplot()
Working with temporal uncertainties
Problem
Imagine you are trying to model intensity of human occupation in longer time period by quantifing archaeological contexts but you are struggling with the problem how to compare contexts with various accuracy of their dating.
E.g. some contexts are dated vaguely to “neolithic period” because the only artefact found there was a culturaly insignificant polished axe. And on the contrary, other contexts are dated to shorter periods such as “Stroked Pottery Culture period” (vypíchaná ker.) thanks to finds of recognizable ornamented pottery.
Aoristic method
will help us with overcoming difficulties with temporal uncertainties
for every archaeological context we need a typo-chronological datation and start date and end date of each of these datations, such as in example below:
for the sake of the simplicity and for these educational purposes, we will work with LASOLES database as if it does not consists of radiocarbon samples but of contexts of these samples dated typo-chronologicaly to various periods
but since LASOLES does not have variables with information about start and end date, we will need to get those information from another datase - datation_mor.csv
now we need to add variables date_start and date_end to dataframe df_lasoles. We will do so by joining the two tables through variables “kultura” and “Contex_dating_AMCR” by command right_join
df_lasoles <- df_lasoles %>%right_join(df_datations, by =c("Contex_dating_AMCR"="kultura"))
There are too many areals for any usefull visualisation, so we need to group them to broader categories. For example burial grounds and tumuli will be in one category only.
first step is creating vectors of site categories:
l_settlements <-c("settlement", "hillfort", "settlement-exp", "military camp", "large circular enclosure", "enclosure")l_burials <-c("burial ground", "tumuli")l_hoards <-c("hoard of a bronze artefacts", "hoard other", "hoard of ceramic vessels")l_other <-c("single find", "cave or abri", "secondary find", "extraction site", "unpublished","ritual_site" )
then with the help of mutate will create a new variable “new_category”
aori_settlements <-aorist(df_settlements, from ="date_start", to ="date_end", method ="period_correction", stepwidth =1)aori_burials <-aorist(df_burials, from ="date_start", to ="date_end", method ="period_correction", stepwidth =1)
ggplot()+geom_line(data = aori_settlements, aes(x=date, y=sum), color ="red")+geom_line(data = aori_burials, aes(x=date, y=sum), color ="blue")+scale_x_continuous(breaks = marks)+theme_light()
Easy subseting
you can create similar subsets without creating a new variable:
clean your workspace, create new script, load either the new lasoles table (with end and start dates) or the old one, but then join it with datation table
create a dataframe of fortificated areas, consisting of hillforts, elevated settlements (settlement-exp) and military camps
calculate an aoristic sum for these fortificated areas and show it in ggplot
add marks to your ggplot visualizing the start and the end of the Iron age period (-800 and -21 BCE)
create a map of those fortified areas in the Czech republic (you will need to create a sf file and load “republika” from RCzechia)