Learn R Programming

IsoplotR (version 1.0)

peakfit: Finite mixture modelling of geochronological datasets

Description

Implements the discrete mixture modelling algorithms of Galbraith and Laslett (1993) and applies them to fission track and other geochronological datasets.

Usage

peakfit(x, ...)

# S3 method for default peakfit(x, k = "auto", sigdig = 2, log = TRUE, alpha = 0.05, ...)

# S3 method for fissiontracks peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, alpha = 0.05, ...)

# S3 method for UPb peakfit(x, k = 1, type = 4, cutoff.76 = 1100, cutoff.disc = c(-15, 5), exterr = TRUE, sigdig = 2, log = TRUE, alpha = 0.05, ...)

# S3 method for PbPb peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, i2i = TRUE, alpha = 0.05, ...)

# S3 method for ArAr peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, i2i = FALSE, alpha = 0.05, ...)

# S3 method for ReOs peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, i2i = TRUE, alpha = 0.05, ...)

# S3 method for SmNd peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, i2i = TRUE, alpha = 0.05, ...)

# S3 method for RbSr peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, i2i = TRUE, alpha = 0.05, ...)

# S3 method for LuHf peakfit(x, k = 1, exterr = TRUE, sigdig = 2, log = TRUE, i2i = TRUE, alpha = 0.05, ...)

# S3 method for ThU peakfit(x, k = 1, exterr = FALSE, sigdig = 2, log = TRUE, i2i = TRUE, alpha = 0.05, ...)

# S3 method for UThHe peakfit(x, k = 1, sigdig = 2, log = TRUE, alpha = 0.05, ...)

Arguments

x

either an [n x 2] matrix with measurements and their standard errors, or an object of class fissiontracks, UPb, PbPb, ArAr, ReOs, SmNd, RbSr, LuHf, ThU or UThHe

...

optional arguments (not used)

k

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).

sigdig

number of significant digits to be used for any legend in which the peak fitting results are to be displayed.

log

take the logs of the data before applying the mixture model?

alpha

cutoff value for confidence intervals

exterr

propagate the external sources of uncertainty into the component age errors?

type

scalar valueindicating 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), or the (Wetherill) concordia age (type=5)

cutoff.76

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.

cutoff.disc

two element vector with the maximum and minimum percentage discordance allowed between the \(^{207}\)Pb/\(^{235}\)U and \(^{206}\)Pb/\(^{238}\)U age (if \(^{206}\)Pb/\(^{238}\)U < cutoff.76) or between the \(^{206}\)Pb/\(^{238}\)U and \(^{207}\)Pb/\(^{206}\)Pb age (if \(^{206}\)Pb/\(^{238}\)U > cutoff.76). Set cutoff.disc=NA if you do not want to use this filter.

i2i

`isochron to intercept': calculates the initial (aka `inherited', `excess', or `common') \(^{40}\)Ar/\(^{36}\)Ar, \(^{207}\)Pb/\(^{204}\)Pb, \(^{87}\)Sr/\(^{86}\)Sr, \(^{143}\)Nd/\(^{144}\)Nd, \(^{187}\)Os/\(^{188}\)Os or \(^{176}\)Hf/\(^{177}\)Hf ratio from an isochron fit. Setting i2i to FALSE uses the default values stored in settings('iratio',...). When applied to data of class ThU, setting i2i to TRUE applies a detrital Th-correction.

Value

Returns a list with the following items:

peaks

a 3 x k matrix with the following rows:

t: the ages of the k peaks

s[t]: the estimated uncertainties of t

ci[t]: the studentised \(100(1-\alpha)\%\) confidence interval for t

props

a 2 x k matrix with the following rows:

p: the proportions of the k peaks

s[p]: the estimated uncertainties of p

L

the log-likelihood of the fit

tfact

the \(100(1-\alpha/2)\%\) percentile of the t-distribution with \((n-2k+1)\) degrees of freedom

legend

a vector of text expressions to be used in a figure legend

Details

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 (Van der Touw et al., 1997).

References

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.

van der Touw, J., Galbraith, R., and Laslett, G. A logistic truncated normal mixture model for overdispersed binomial data. Journal of Statistical Computation and Simulation, 59(4):349-373, 1997.

See Also

radialplot, central

Examples

Run this code
# NOT RUN {
data(examples)
peakfit(examples$FT1,k=2)

peakfit(examples$LudwigMixture,k='min')
# }

Run the code above in your browser using DataLab