The goal of pb210 is to provide a reproducible R-based workflow to create sediment core chronologies from 210Pb activity measurements. I am not an expert on 210Pb, but occasionally need to interpret these data and would love input on how to make this package better (open an issue on the issues page or email me!).

This is currently in experimental mode and under heavy development, so use it with caution!


You can install the development version of pb210 from github with:

If you can load the package, it’s installed!



You have some lead-210 measurements, but you want dates! Included are some lead-210 measurements from Alta Lake, Whistler, British Columbia, Canada.

First, you have to decide where “background” is. For these data, one might choose 7 cm (there is a facies change at 11 cm that is likely responsible for the further drop in activity). Then, you have to decide what background is. One method is to take the mean and standard deviation of the background data (another common method is to use measurements of 226Ra activity).

Next, we need to remove the “background” from the total measurements, propogating error on the way through. The pb210 package uses the errors package to do most of the error propogation. This measure is called the excess or unsupported specific activity. The pb210_excess() function is one way to do this.

alta_lake_pb210$excess_pb210 <- pb210_excess(
  set_errors(alta_lake_pb210$total_pb210_Bq_kg, alta_lake_pb210$total_pb210_sd),
  set_errors(alta_lake_background$background, alta_lake_background$background_sd)

For the constant rate of supply model (CRS; the most widely used model), we also need to calculate the inventory, or the cumulative activity of lead-210 starting at the bottom of the core. There are as many ways to do this as there are paleolimnologists, but the pb210_inventory() function should get you started. Note that this function requires the cumulative dry mass in kilograms as an input (as do the other dating functions).

Here I told it to use the last 3 finite measurements to estimate excess lead-210 inventory in the core before the last known measurement. This is the implicit default derived from some experimentation…it’s good to specify this explicitly, since it affects the extrapolated ages quite a bit!

Now that we have all the parts, we can calculate the ages!