Learn R Programming

IsoplotR (version 1.0)

isochron: Calculate and plot isochrons

Description

Plots cogenetic Ar-Ar, Pb-Pb, Rb-Sr, Sm-Nd, Re-Os, Lu-Hf, U-Th-He or Th-U data as X-Y scatterplots, fits an isochron curve through them using the york function, and computes the corresponding isochron age, including decay constant uncertainties.

Usage

isochron(x, ...)

# S3 method for default isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), line.col = "red", lwd = 2, title = TRUE, model = 1, ...)

# S3 method for ArAr isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), inverse = TRUE, line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for PbPb isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), inverse = TRUE, line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for RbSr isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for ReOs isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for SmNd isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for LuHf isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for ThU isochron(x, type = 2, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, levels = NA, clabel = "", ellipse.col = c("#00FF0080", "#FF000080"), line.col = "red", lwd = 2, plot = TRUE, exterr = TRUE, model = 1, ...)

# S3 method for UThHe isochron(x, xlim = NA, ylim = NA, alpha = 0.05, sigdig = 2, show.numbers = FALSE, line.col = "red", lwd = 2, plot = TRUE, model = 1, ...)

Arguments

x

EITHER a matrix with the following five columns:

X

the x-variable

sX

the standard error of X

Y

the y-variable

sY

the standard error of Y

rXY

the correlation coefficient of X and Y

OR

an object of class ArAr, PbPb, ReOs, RbSr, SmNd, LuHf, UThHe or ThU.

...

optional arguments to be passed on to the generic plot function if model=2

xlim

2-element vector with the x-axis limits

ylim

2-element vector with the y-axis limits

alpha

confidence cutoff for the error ellipses and confidence intervals

sigdig

the number of significant digits of the numerical values reported in the title of the graphical output

show.numbers

logical flag (TRUE to show grain numbers)

levels

a vector with additional values to be displayed as different background colours within the error ellipses.

clabel

label for the colour scale

ellipse.col

a vector of two background colours for the error ellipses. If levels=NA, then only the first colour will be used. If levels is a vector of numbers, then ellipse.col is used to construct a colour ramp.

line.col

colour of the isochron line

lwd

line width

title

add a title to the plot?

model

construct the isochron using either:

  1. Error-weighted least squares regression

  2. Ordinary least squares regression

  3. Error-weighted least squares with overdispersion term

inverse

if FALSE and x has class ArAr, plots \(^{40}\)Ar/\(^{36}\)Ar vs. \(^{39}\)Ar/\(^{36}\)Ar.

if FALSE and x has class PbPb, plots \(^{207}\)Pb/\(^{204}\)Pb vs. \(^{206}\)Pb/\(^{204}\)Pb.

if TRUE and x has class ArAr, plots \(^{36}\)Ar/\(^{40}\)Ar vs. \(^{39}\)Ar/\(^{40}\)Ar.

if TRUE and x has class PbPb, plots \(^{207}\)Pb/\(^{206}\)Pb vs. \(^{204}\)Pb/\(^{206}\)Pb.

plot

if FALSE, suppresses the graphical output

exterr

propagate external sources of uncertainty (J, decay constant)?

type

following the classification of Ludwig and Titterington (1994), one of either:

  1. `Rosholt type-II' isochron, setting out \(^{230}\)Th/\(^{232}\)Th vs. \(^{238}\)U/\(^{232}\)Th

  2. `Osmond type-II' isochron, setting out \(^{230}\)Th/\(^{238}\)U vs. \(^{232}\)Th/\(^{238}\)U

  3. `Rosholt type-II' isochron, setting out \(^{234}\)U/\(^{232}\)Th vs. \(^{238}\)U/\(^{232}\)Th

  4. `Osmond type-II' isochron, setting out \(^{234}\)U/\(^{238}\)U vs. \(^{232}\)Th/\(^{238}\)U

Value

If x has class PbPb, ArAr, RbSr, SmNd, ReOs or LuHf, or UThHe, returns a list with the following items:

a

the intercept of the straight line fit and its standard error.

b

the slope of the fit and its standard error.

cov.ab

the covariance of the slope and intercept

df

the degrees of freedom of the linear fit (\(df=n-2\))

y0

a four-element list containing:

y: the atmospheric \(^{40}\)Ar/\(^{36}\)Ar or initial \(^{207}\)Pb/\(^{204}\)Pb, \(^{187}\)Os/\(^{188}\)Os, \(^{87}\)Sr/\(^{87}\)Rb, \(^{143}\)Nd/\(^{144}\)Nd or \(^{176}\)Hf/\(^{177}\)Hf ratio.

s[y]: the propagated uncertainty of y

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

disp[y]: the studentised \(100(1-\alpha)\%\) confidence interval for y enhanced by \(\sqrt{mswd}\) (only applicable if model=1).

age

a four-element list containing:

t: the \(^{207}\)Pb/\(^{206}\)Pb, \(^{40}\)Ar/\(^{39}\)Ar, \(^{187}\)Os/\(^{187}\)Re, \(^{87}\)Sr/\(^{87}\)Rb, \(^{143}\)Nd/\(^{144}\)Nd or \(^{176}\)Hf/\(^{177}\)Hf age.

s[t]: the propagated uncertainty of t

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

disp[t]: the studentised \(100(1-\alpha)\%\) confidence interval for t enhanced by \(\sqrt{mswd}\) (only applicable if model=1).

tfact

the \(100(1-\alpha/2)\%\) percentile of a t-distribution with df degrees of freedom.

mswd

the mean square of the residuals (a.k.a `reduced Chi-square') statistic (omitted if model=2).

p.value

the p-value of a Chi-square test for linearity (omitted if model=2)

w

the overdispersion term, i.e. a two-element vector with the standard deviation of the (assumedly) Normally distributed geological scatter that underlies the measurements, and the corresponding studentised \(100(1-\alpha)\%\) confidence interval (only returned if model=3).

OR, if x has class ThU:

par

if x$type=1 or x$type=3: the best fitting \(^{230}\)Th/\(^{232}\)Th intercept, \(^{230}\)Th/\(^{238}\)U slope, \(^{234}\)U/\(^{232}\)Th intercept and \(^{234}\)U/\(^{238}\)U slope, OR, if x$type=2 or x$type=4: the best fitting \(^{234}\)U/\(^{238}\)U intercept, \(^{230}\)Th/\(^{232}\)Th slope, \(^{234}\)U/\(^{238}\)U intercept and \(^{234}\)U/\(^{232}\)Th slope.

cov

the covariance matrix of par.

df

the degrees of freedom for the linear fit, i.e. \((3n-3)\) if x$format=1 or x$format=2, and \((2n-2)\) if x$format=3 or x$format=4

a

if type=1: the \(^{230}\)Th/\(^{232}\)Th intercept; if type=2: the \(^{230}\)Th/\(^{238}\)U intercept; if type=3: the \(^{234}\)Th/\(^{232}\)Th intercept; if type=4: the \(^{234}\)Th/\(^{238}\)U intercept and its propagated uncertainty.

b

if type=1: the \(^{230}\)Th/\(^{238}\)U slope; if type=2: the \(^{230}\)Th/\(^{232}\)Th slope; if type=3: the \(^{234}\)U/\(^{238}\)U slope; if type=4: the \(^{234}\)U/\(^{232}\)Th slope and its propagated uncertainty.

cov.ab

the covariance between a and b.

mswd

the mean square of the residuals (a.k.a `reduced Chi-square') statistic.

p.value

the p-value of a Chi-square test for linearity.

tfact

the \(100(1-\alpha/2)\%\) percentile of a t-distribution with df degrees of freedom.

y0

a four-element vector containing:

y: the initial \(^{234}\)U/\(^{238}\)U-ratio

s[y]: the propagated uncertainty of y

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

disp[y]: the studentised \(100(1-\alpha)\%\) confidence interval for y enhanced by \(\sqrt{mswd}\).

age

a three (or four) element vector containing:

t: the initial \(^{234}\)U/\(^{238}\)U-ratio

s[t]: the propagated uncertainty of t

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

disp[t]: the studentised \(100(1-\alpha)\%\) confidence interval for t enhanced by \(\sqrt{mswd}\) (only reported if model=1).

w

the overdispersion term, i.e. a two-element vector with the standard deviation of the (assumedly) Normally distributed geological scatter that underlies the measurements, and the corresponding \(100(1-\alpha)\%\) confidence interval (only returned if model=3).

d

a matrix with the following columns: the X-variable for the isochron plot, the analytical uncertainty of X, the Y-variable for the isochron plot, the analytical uncertainty of Y, and the correlation coefficient between X and Y.

xlab

the x-label of the isochron plot

ylab

the y-label of the isochron plot

Details

Given several aliquots from a single sample, isochrons allow the non-radiogenic component of the daughter nuclide to be quantified and separated from the radiogenic component. In its simplest form, an isochron is obtained by setting out the amount of radiogenic daughter against the amount of radioactive parent, both normalised to a non-radiogenic isotope of the daughter element, and fitting a straight line through these points by least squares regression (Nicolaysen, 1961). The slope and intercept then yield the radiogenic daughter-parent ratio and the non-radiogenic daughter composition, respectively. There are several ways to fit an isochron. The easiest of these is ordinary least squares regression, which weighs all data points equally. In the presence of quantifiable analytical uncertainty, it is equally straightforward to use the inverse of the y-errors as weights. It is significantly more difficult to take into account uncertainties in both the x- and the y-variable (York, 1966). IsoplotR does so for its U-Th-He isochron calculations. The York (1966) method assumes that the analytical uncertainties of the x- and y-variables are independent from each other. This assumption is rarely met in geochronology. York (1968) addresses this issue with a bivariate error weighted linear least squares algorithm that accounts for covariant errors in both variables. This algorithm was further improved by York et al. (2004) to ensure consistency with the maximum likelihood approach of Titterington and Halliday (1979).

IsoplotR uses the York et al. (2004) algorithm for its \(^{40}\)Ar/\(^{39}\)Ar, Pb-Pb, Rb-Sr, Sm-Nd, Re-Os and Lu-Hf isochrons. The maximum likelihood algorithm of Titterington and Halliday (1979) was generalised from two to three dimensions by Ludwig and Titterington (1994) for U-series disequilibrium dating. Also this algorithm is implemented in IsoplotR. The extent to which the observed scatter in the data can be explained by the analytical uncertainties can be assessed using the Mean Square of the Weighted Deviates (MSWD, McIntyre et al., 1966), which is defined as:

\(MSWD = ([X - \hat{X}] \Sigma_{X}^{-1} [X - \hat{X}]^T)/df\)

where \(X\) are the data, \(\hat{X}\) are the fitted values, and \(\Sigma_X\) is the covariance matrix of \(X\), and \(df = k(n-1)\) are the degrees of freedom, where \(k\) is the dimensionality of the linear fit. MSWD values that are far smaller or greater than 1 indicate under- or overdispersed measurements, respectively. Underdispersion can be attributed to overestimated analytical uncertainties. IsoplotR provides three alternative strategies to deal with overdispersed data:

  1. Attribute the overdispersion to an underestimation of the analytical uncertainties. In this case, the excess scatter can be accounted for by inflating those uncertainties by a factor \(\sqrt{MSWD}\).

  2. Ignore the analytical uncertainties and perform an ordinary least squares regression.

  3. Attribute the overdispersion to the presence of `geological scatter'. In this case, the excess scatter can be accounted for by adding an overdispersion term that lowers the MSWD to unity.

References

Ludwig, K.R. and Titterington, D.M., 1994. Calculation of \(^{230}\)Th/U isochrons, ages, and errors. Geochimica et Cosmochimica Acta, 58(22), pp.5031-5042.

Nicolaysen, L.O., 1961. Graphic interpretation of discordant age measurements on metamorphic rocks. Annals of the New York Academy of Sciences, 91(1), pp.198-206.

Titterington, D.M. and Halliday, A.N., 1979. On the fitting of parallel isochrons and the method of maximum likelihood. Chemical Geology, 26(3), pp.183-195.

York, D., 1966. Least-squares fitting of a straight line. Canadian Journal of Physics, 44(5), pp.1079-1086.

York, D., 1968. Least squares fitting of a straight line with correlated errors. Earth and Planetary Science Letters, 5, pp.320-324.

York, D., Evensen, N.M., Martinez, M.L. and De Basebe Delgado, J., 2004. Unified equations for the slope, intercept, and standard errors of the best straight line. American Journal of Physics, 72(3), pp.367-375.

See Also

york, titterington, ludwig

Examples

Run this code
# NOT RUN {
data(examples)
isochron(examples$ArAr)

fit <- isochron(examples$PbPb,inverse=FALSE,plot=FALSE)

dev.new()
isochron(examples$ThU,type=4)
# }

Run the code above in your browser using DataLab