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)
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.logical
(with default): excludes NA
values from the data
set prior to any further operations.character
(with default): header of the plot.character
(optional): additional text on the right side
of the plot.character
(with default): function used for fitting.
Possible options are: LIN
, EXP
, EXP OR LIN
,
EXP+LIN
or EXP+EXP
. See details.logical
(with default): option whether the fitting is
done with or without weights. See details.logical
(with default): includes repeated points for
fitting (TRUE
/FALSE
).integer
(optional): set number of regeneration points
manually. By default the number of all(!) regeneration points is
used automatically.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.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 ininteger
(with default): number of Monte Carlo simulations
for error estimation. See details.character
(with default): unit for x-axis labelling.
Possible values are "Gy"
and "s"
.logical
(with default): plot output (TRUE/FALSE
).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
numeric
(with default): global scaling factor.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.##(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