Learn R Programming

Luminescence (version 0.3.1)

plot_GrowthCurve: Fit and plot a growth curve for luminescence data (Lx/Tx against dose)

Description

A dose response curve is produced for luminescence measurements using a regenerative protocol.

Usage

plot_GrowthCurve(sample, na.exclude = TRUE, main = "Growth Curve", 
    mtext = "", fit.method = "EXP", fit.weights = TRUE, 
    fit.includingRepeatedRegPoints = TRUE, 
    fit.NumberRegPoints, fit.NumberRegPointsReal, fit.bounds = TRUE, 
    NumberIterations.MC = 100, xlab = "s", output.plot = TRUE, 
    output.plotExtended = TRUE, cex.global = 1)

Arguments

sample
data.frame (required): data frame with three columns for x=Dose,y=LxTx,z=LxTx.Error, y1=TnTx. The column for the test dose response is optional, but requires 'TnTx' as column name if used.
na.exclude
logical (with default): excludes NA values from the data set prior to any further operations.
main
character (with default): header of the plot.
mtext
character (optional): additional text on the right side of the plot.
fit.method
character (with default): function used for fitting. Possible options are: LIN, EXP, EXP OR LIN, EXP+LIN or EXP+EXP. See details.
fit.weights
logical (with default): option whether the fitting is done with or without weights. See details.
fit.includingRepeatedRegPoints
logical (with default): includes repeated points for fitting (TRUE/FALSE).
fit.NumberRegPoints
integer (optional): set number of regeneration points manually. By default the number of all(!) regeneration points is used automatically.
fit.NumberRegPointsReal
integer (optional): if the number of regeneration points is provided manually, the value of the real regeneration points = all points (repeated points) reg 0 has to be inserted.
fit.bounds
logical (with default): set lower fit bounds for all fitting parameters to 0. Limited for the use with the fit methods EXP, EXP+LIN and EXP OR LIN. Argument to be in
NumberIterations.MC
integer (with default): number of Monte Carlo simulations for error estimation. See details.
xlab
character (with default): unit for x-axis labelling. Possible values are "Gy" and "s".
output.plot
logical (with default): plot output (TRUE/FALSE).
output.plotExtended
logical (with default): If TRUE, 3 plots on one plot area are provided: (1) growth curve, (2) histogram from error Monte Carlo simulation and (3) a test dose response plot. If FALSE
cex.global
numeric (with default): global scaling factor.

Value

  • RLum.Results object containing the De (De, De Error, D01 value, D02 value and Fit type) and Fit object nls object for EXP, EXP+LIN and EXP+EXP. In case of a resulting linear fit when using EXP OR LIN, a lm object is returned. Additionally a plot is returned.

Details

Fitting methods For all options (except for the LIN and the EXP OR LIN), the nls function with the port algorithm is used. LIN: fits a linear function to the data using lm: $$y = m*x+n$$ EXP: try to fit a function of the form $$y = a*(1-exp(-(x+c)/b))$$ Parameters b and c are approximated by a linear fit using lm. EXP OR LIN: works for some cases where an EXP fit fails. If the EXP fit fails, a LIN fit is done instead. EXP+LIN: tries to fit an exponential plus linear function of the form: $$y = a*(1-exp(-(x+c)/b)+(g*x))$$ The De is calculated by iteration. Note: In the context of luminescence dating, this function has no physical meaning. Therefore, no D0 value is returned. EXP+EXP: tries to fit a double exponential function of the form $$y = (a1*(1-exp(-(x)/b1)))+(a2*(1-exp(-(x)/b2)))$$ This fitting procedure is not robust against wrong start parameters and should be further improved. Fit weighting If the option fit.weights = TRUE is chosen, weights are calculated using provided signal errors (Lx/Tx error): $$fit.weights = 1/error/(sum(1/error))$$ Error estimation using Monte Carlo simulation Error estimation is done using a Monte Carlo (MC) simulation approach. A set of values is constructed by randomly drawing curve data from a normal distribution. The normal distribution is defined by the input values (mean = value, sd = value.error). Then, a growth curve fit is attempted for each dataset which results in new distribution of values. The sd of this distribution is the error of the De. With increasing iterations, the error value is becoming more stable. Note: It may take some calculation time with increasing MC runs, especially for the composed functions (EXP+LIN and EXP+EXP). Each error estimation is done with the function of the chosen fitting method.

Examples

Run this code
##(1) plot growth curve for a dummy data.set
data(ExampleData.LxTxData, envir = environment())
plot_GrowthCurve(LxTxData)


##(2) plot the growth curve only

##pdf(file = "~/Desktop/Growth_Curve_Dummy.pdf", paper = "special")
data(ExampleData.LxTxData, envir = environment())
plot_GrowthCurve(LxTxData)
##dev.off()                                   

##(3) plot growth curve with pdf output on desktop (path works for Mac)

##pdf(file = "~/Desktop/Growth_Curve_Dummy.pdf", paper = "special")
data(ExampleData.LxTxData, envir = environment())
plot_GrowthCurve(LxTxData)
##dev.off()

Run the code above in your browser using DataLab