It takes only 4 steps to analyse your SAR luminescence data
by Sebastian Kreutzer & R Luminescence Team (February 21, 2020)
Usually R does not cause a lot of frustration, but only if you know
how to use it. However, first steps are difficult. To ease the beginning for analysing luminescence data, in 2015 we published a guide (Fuchs et al. 2015) to analyse SAR (Murray and Wintle 2000) data. Since then,
’Luminescence'
evolved, today making the luminescence data analysis
easier than ever before. By using the example data (SAR, quartz)
published along with the article by Fuchs et al. (2015), here again we
demonstrate how to analyse the luminescence data with R. In only 4
steps, promised, it was never easier.
Step 1: Load the package ‘Luminescence’
Simple, but indispensable, our first step is loading the R package
’Luminescence'
:
library(Luminescence)
Step 2: Load and select your data
Without data, no data analysis. We now import the measurement data into
R by calling the function read_BIN2R()
. The function
file.choose()
opens an external window to allow are very convenient
file selection. The argument fastForward
makes sure that the data are
directly available in the format we want to have them.
file <- file.choose()
temp <- read_BIN2R(file, fastForward = TRUE)
Not every data set is instantly ready to be analysed, e.g., the data set may contain additional information, which are not needed for the analysis. This is the case for our test data set. As written in Fuchs et al. (2015), only the first 20 aliquots follow the common SAR procedure, i.e. a consecutive sequence of irradiation, heating, OSL (\(L_x\)), irradiation, heating and OSL (\(T_x\)). Therefore, we have to limit our data set to the first 20 aliquots:
temp.sel <- temp[1:20]
Note: Further limitations can be applied by using the function
get_RLum()
. Type ?get_RLum
in your R console to get further
information.
Step 3: Run the SAR analysis
Now the data are ready and can be analysed calling the function
analyse_SAR.CWOSL
:
results <- analyse_SAR.CWOSL(
object = temp.sel,
signal.integral.min = 1,
signal.integral.max = 5,
background.integral.min = 200,
background.integral.max = 250,
fit.method = "EXP",
rejection.criteria = list(
recycling.ratio = 10,
recuperation.rate = 10,
testdose.error = 10,
palaeodose.error = 20,
exceed.max.regpoint = TRUE),
plot_onePage = TRUE
)

Figure 1: Example output for one aliquot.
The graphical output consists of three different plot sets: (A) the preheat curves (here as TL) and the OSL curves used to calculate \(L_{x}/T_{x}\), (B) the dose response curve and (C) a plot showing visualisating the rejection criteria and, if measured, the IRSL curve checking for a potential feldpsar contamination of the quartz sample.
To modify arguments or to understand the meaning of the given
arguments, please type ?analyse_SAR.CWOSL
in your R console.
The results of the analysis is a complex R object (here named
results
), which can be used for further analysis.
results
##
## [RLum.Results-class]
## originator: analyse_SAR.CWOSL()
## data: 4
## .. $data : data.frame
## .. $LnLxTnTx.table : data.frame
## .. $rejection.criteria : data.frame
## .. $Formula : list
## additional info elements: 20
To show only the obtained equivalent dose \(D_{e}\) values, the following line needs to be typed on the R console:
head(results$data)
## De De.Error D01 D01.ERROR D02 D02.ERROR De.MC Fit RC.Status
## 1 1195.3066 72.40 2651.342 842.4220 NA NA 1205.908 EXP OK
## 2 517.3256 45.63 1759.007 317.8390 NA NA 519.418 EXP OK
## 3 1586.1348 254.25 1193.753 326.5909 NA NA 1641.946 EXP OK
## 4 2594.8597 430.28 2053.184 638.2911 NA NA 2661.868 EXP OK
## 5 1098.9140 74.76 2361.560 748.5487 NA NA 1116.073 EXP OK
## 6 1445.5594 140.54 1888.343 688.1423 NA NA 1458.003 EXP OK
## signal.range background.range signal.range.Tx background.range.Tx
## 1 1 : 5 200 : 250 NA : NA NA : NA
## 2 1 : 5 200 : 250 NA : NA NA : NA
## 3 1 : 5 200 : 250 NA : NA NA : NA
## 4 1 : 5 200 : 250 NA : NA NA : NA
## 5 1 : 5 200 : 250 NA : NA NA : NA
## 6 1 : 5 200 : 250 NA : NA NA : NA
## UID
## 1 2020-11-03-03:43.0.739523517899215
## 2 2020-11-03-03:43.0.708020005607978
## 3 2020-11-03-03:43.0.338453078176826
## 4 2020-11-03-03:43.0.882017500931397
## 5 2020-11-03-03:43.0.227275899378583
## 6 2020-11-03-03:43.0.679579654941335
Step 4: Plot your data
The last step. No luminescence data analysis without a graphical
representation of the results. Below we have chosen the abanico plot
(Dietze et al. 2016) to visualise the final \(D_e\) distribution. The prior
used function subset
ensures that only values are shown, which have
successfully been passed the rejection criteria.
df <- subset(results$data, RC.Status == "OK")
plot_AbanicoPlot(df[,1:2], zlab = expression(paste(D[e], " [s]")))