Implements the discrete mixture modelling algorithms of Galbraith and Laslett (1993) and applies them to fission track and other geochronological datasets.
peakfit(x, ...)# S3 method for default
peakfit(x, k = "auto", sigdig = 2, oerr = 3, log = TRUE, np = 3, ...)
# S3 method for fissiontracks
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
oerr = 3,
np = 3,
...
)
# S3 method for UPb
peakfit(
x,
k = 1,
type = 4,
cutoff.76 = 1100,
cutoff.disc = discfilter(),
common.Pb = 0,
exterr = FALSE,
sigdig = 2,
log = TRUE,
oerr = 3,
np = 3,
...
)
# S3 method for PbPb
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
common.Pb = 0,
oerr = 3,
np = 3,
...
)
# S3 method for ArAr
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = FALSE,
oerr = 3,
np = 3,
...
)
# S3 method for ThPb
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = FALSE,
oerr = 3,
np = 3,
...
)
# S3 method for KCa
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = FALSE,
oerr = 3,
np = 3,
...
)
# S3 method for ReOs
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = TRUE,
oerr = 3,
np = 3,
...
)
# S3 method for SmNd
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = TRUE,
oerr = 3,
np = 3,
...
)
# S3 method for RbSr
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = TRUE,
oerr = 3,
np = 3,
...
)
# S3 method for LuHf
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
i2i = TRUE,
oerr = 3,
np = 3,
...
)
# S3 method for ThU
peakfit(
x,
k = 1,
exterr = FALSE,
sigdig = 2,
log = TRUE,
oerr = 3,
Th0i = 0,
np = 3,
...
)
# S3 method for UThHe
peakfit(x, k = 1, sigdig = 2, log = TRUE, oerr = 3, np = 3, ...)
Returns a list with the following items:
a 2 x k
matrix with the following rows:
t
: the ages of the k
peaks
s[t]
: the standard errors of t
a 2 x k
matrix with the following rows:
p
: the proportions of the k
peaks
s[p]
: the standard errors of p
the log-likelihood of the fit
a vector of text expressions to be used in a figure legend
either an [nx2]
matrix with measurements and their
standard errors, or an object of class fissiontracks
,
UPb
, PbPb
, ThPb
, ArAr
, KCa
,
ReOs
, SmNd
, RbSr
, LuHf
, ThU
or UThHe
optional arguments (not used)
the number of discrete age components to be
sought. Setting this parameter to 'auto'
automatically
selects the optimal number of components (up to a maximum of 5)
using the Bayes Information Criterion (BIC).
number of significant digits to be used for any legend in which the peak fitting results are to be displayed.
indicates whether the analytical uncertainties of the output are reported in the plot legend as:
1
: 1\(\sigma\) absolute uncertainties.
2
: 2\(\sigma\) absolute uncertainties.
3
: absolute (1-\(\alpha\))% confidence intervals, where
\(\alpha\) equales the value that is stored in
settings('alpha')
.
4
: 1\(\sigma\) relative uncertainties (\(\%\)).
5
: 2\(\sigma\) relative uncertainties (\(\%\)).
6
: relative (1-\(\alpha\))% confidence intervals, where
\(\alpha\) equales the value that is stored in
settings('alpha')
.
take the logs of the data before applying the mixture model?
number of parameters for the minimum age model. Must be either 3 or 4.
propagate the external sources of uncertainty into the component age errors?
scalar indicating whether to plot the
\(^{207}\)Pb/\(^{235}\)U age (type
=1), the
\(^{206}\)Pb/\(^{238}\)U age (type
=2), the
\(^{207}\)Pb/\(^{206}\)Pb age (type
=3), the
\(^{207}\)Pb/\(^{206}\)Pb-\(^{206}\)Pb/\(^{238}\)U age
(type
=4), the concordia_age (type
=5), or the
\(^{208}\)Pb/\(^{232}\)Th age (type
=6).
the age (in Ma) below which the
\(^{206}\)Pb/\(^{238}\)U and above which the
\(^{207}\)Pb/\(^{206}\)Pb age is used. This parameter is
only used if type=4
.
discordance cutoff filter. This is an object of
class discfilter
.
common lead correction:
0
:none
1
: use the Pb-composition stored in
settings('iratio','Pb206Pb204')
(if x
has class
UPb
and x$format<4
);
settings('iratio','Pb206Pb204')
and
settings('iratio','Pb207Pb204')
(if x
has class
PbPb
or x
has class UPb
and
3<x$format<7
); or
settings('iratio','Pb206Pb208')
and
settings('iratio','Pb207Pb208')
(if x
has class
UPb
and x$format=7
or 8
).
2
: use the isochron intercept as the initial Pb-composition
3
: use the Stacey-Kramers two-stage model to infer the
initial Pb-composition (only applicable if x
has class
UPb
)
`isochron to intercept': calculates the initial (aka
`inherited', `excess', or `common')
\(^{40}\)Ar/\(^{36}\)Ar, \(^{40}\)Ca/\(^{44}\)Ca,
\(^{207}\)Pb/\(^{204}\)Pb, \(^{87}\)Sr/\(^{86}\)Sr,
\(^{143}\)Nd/\(^{144}\)Nd, \(^{187}\)Os/\(^{188}\)Os,
\(^{230}\)Th/\(^{232}\)Th, \(^{176}\)Hf/\(^{177}\)Hf or
\(^{204}\)Pb/\(^{208}\)Pb ratio from an isochron
fit. Setting i2i
to FALSE
uses the default values
stored in settings('iratio',...)
.
initial \(^{230}\)Th correction.
0
: no correction
1
: project the data along an isochron fit
2
: if x$format
is 1
or 2
, correct the
data using the measured present day \(^{230}\)Th/\(^{238}\)U,
\(^{232}\)Th/\(^{238}\)U and \(^{234}\)U/\(^{238}\)U
activity ratios in the detritus. If x$format
is 3
or
4
, correct the data using the measured
\(^{238}\)U/\(^{232}\)Th activity ratio of the whole rock, as
stored in x
by the read.data()
function.
3
: correct the data using an assumed initial
\(^{230}\)Th/\(^{232}\)Th-ratio for the detritus (only relevant
if x$format
is 1
or 2
).
Consider a dataset of \(n\) dates \(\{t_1, t_2, ..., t_n\}\)
with analytical uncertainties \(\{s[t_1], s[t_2], ...,
s[t_n]\}\). Define \(z_i = \log(t_i)\) and \(s[z_i] =
s[t_i]/t_i\). Suppose that these \(n\) values are derived from a
mixture of \(k>2\) populations with means
\(\{\mu_1,...,\mu_k\}\). Such a discrete mixture may be
mathematically described by \(P(z_i|\mu,\omega) = \sum_{j=1}^k
\pi_j N(z_i | \mu_j, s[z_j]^2 )\) where \(\pi_j\) is the
proportion of the population that belongs to the \(j^{th}\)
component, and \(\pi_k=1-\sum_{j=1}^{k-1}\pi_j\). This equation
can be solved by the method of maximum likelihood (Galbraith and
Laslett, 1993). IsoplotR
implements the Bayes Information
Criterion (BIC) as a means of automatically choosing \(k\). This
option should be used with caution, as the number of peaks steadily
rises with sample size (\(n\)). If one is mainly interested in
the youngest age component, then it is more productive to use an
alternative parameterisation, in which all grains are assumed to
come from one of two components, whereby the first component is a
single discrete age peak (\(\exp(m)\), say) and the second
component is a continuous distribution (as descibed by the
central
age model), but truncated at this discrete
value. IsoplotR
uses a normal likelihood function
(section 6.11 of Galbraith, 2005) for the minimum age model.
This may result in some inaccuracy for young and/or uranium-poor
fission track samples.
Galbraith, R.F. and Laslett, G.M., 1993. Statistical models for mixed fission track ages. Nuclear Tracks and Radiation Measurements, 21(4), pp.459-470.
Galbraith, R.F. 2005, Statistics for fission track analysis. Chapman and Hall/CRC, 229p.
radialplot
, central
attach(examples)
peakfit(FT1,k=2)
peakfit(LudwigMixture$x,k='min')
Run the code above in your browser using DataLab