Plots cogenetic U-Pb, Ar-Ar, K-Ca, Pb-Pb, Th-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
,
titterington
or ludwig
function, and computes the
corresponding isochron age, including decay constant uncertainties.
isochron(x, ...)# S3 method for default
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
xlab = "x",
ylab = "y",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
title = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for UPb
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
type = 1,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = FALSE,
model = 1,
show.ellipses = 1 * (model != 2),
anchor = 0,
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for PbPb
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = TRUE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
growth = FALSE,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for ArAr
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = TRUE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for ThPb
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = FALSE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for KCa
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
inverse = FALSE,
ci.col = "gray80",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for RbSr
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = FALSE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for ReOs
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = FALSE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for SmNd
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = FALSE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for LuHf
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
inverse = FALSE,
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for ThU
isochron(
x,
type = 2,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
exterr = TRUE,
model = 1,
show.ellipses = 1 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
# S3 method for UThHe
isochron(
x,
alpha = 0.05,
sigdig = 2,
show.numbers = FALSE,
levels = NA,
clabel = "",
ellipse.fill = c("#00FF0080", "#FF000080"),
ellipse.stroke = "black",
ci.col = "gray80",
line.col = "black",
lwd = 1,
plot = TRUE,
model = 1,
show.ellipses = 2 * (model != 2),
hide = NULL,
omit = NULL,
omit.fill = NA,
omit.stroke = "grey",
...
)
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
, KCa
, PbPb
,
UPb
, ThPb
, ReOs
, RbSr
, SmNd
,
LuHf
, UThHe
or ThU
.
optional arguments to be passed on to the generic plot
function if model=2
confidence cutoff for the error ellipses and confidence intervals
the number of significant digits of the numerical values reported in the title of the graphical output
logical flag (TRUE
to show grain numbers)
a vector with additional values to be displayed as different background colours within the error ellipses.
label for the colour scale
text label for the horizontal plot axis
text label for the vertical plot axis
Fill colour for the error ellipses. This can either be a single colour or multiple colours to form a colour ramp. Examples:
a single colour: rgb(0,1,0,0.5)
, '#FF000080'
,
'white'
, etc.;
multiple colours: c(rbg(1,0,0,0.5)
,
rgb(0,1,0,0.5))
, c('#FF000080','#00FF0080')
,
c('blue','red')
, c('blue','yellow','red')
, etc.;
a colour palette: rainbow(n=100)
,
topo.colors(n=100,alpha=0.5)
, etc.; or
a reversed palette: rev(topo.colors(n=100,alpha=0.5))
,
etc.
For empty ellipses, set ellipse.col=NA
the stroke colour for the error
ellipses. Follows the same formatting guidelines as
ellipse.fill
the fill colour for the confidence interval of the intercept and slope.
colour of the isochron line
line width
if FALSE
, suppresses the graphical output
add a title to the plot?
construct the isochron using either:
1
: Error-weighted least squares regression
2
: Ordinary least squares regression
3
: Error-weighted least squares with overdispersion term
show the data as:
0
: points
1
: error ellipses
2
: error crosses
vector with indices of aliquots that should be removed from the plot.
vector with indices of aliquots that should be plotted but omitted from the isochron age calculation.
fill colour that should be used for the omitted aliquots.
stroke colour that should be used for the omitted aliquots.
if x
has class UPb
and x$format=4
, 5
or
6
:
1
: \(^{204}\)Pb/\(^{206}\)Pb vs. \(^{238}\)U/\(^{206}\)Pb
2
: \(^{204}\)Pb/\(^{207}\)Pb vs. \(^{235}\)U/\(^{207}\)Pb
if x
has class UPb
and x$format=7
or 8
:
1
: \(^{208}\)Pb\({}_\circ\)/\(^{206}\)Pb vs. \(^{238}\)U/\(^{206}\)Pb
2
: \(^{208}\)Pb\({}_\circ\)/\(^{207}\)Pb vs. \(^{235}\)U/\(^{207}\)Pb
3
: \(^{206}\)Pb\({}_\circ\)/\(^{208}\)Pb
vs. \(^{232}\)Th/\(^{208}\)Pb
4
: \(^{207}\)Pb\({}_\circ\)/\(^{208}\)Pb
vs. \(^{232}\)Th/\(^{208}\)Pb
if x
has class ThU
, and 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
propagate external sources of uncertainty (J, decay constant)?
control parameters to fix the intercept age or common Pb composition of the isochron fit. This can be a scalar or a vector.
If anchor[1]=0
: do not anchor the isochron.
If anchor[1]=1
: fix the common Pb composition at the values
stored in settings('iratio',...)
.
If anchor[1]=2
: force the isochron line to intersect the
concordia line at an age equal to anchor[2]
.
toggles between normal and inverse isochrons. If the
isochron plots Y
against X
, and
If inverse=TRUE
, then X
=
\({}^{204}\)Pb/\({}^{206}\)Pb and Y
=
\({}^{207}\)Pb/\({}^{206}\)Pb (if x
has class
PbPb
), or X
= \({}^{232}\)Th/\({}^{208}\)Pb and
Y
= \({}^{204}\)Pb/\({}^{208}\)Pb (if x
has class
ThPb
), or X
= \({}^{39}\)Ar/\({}^{40}\)Ar and
Y
= \({}^{36}\)Ar/\({}^{40}\)Ar (if x
has class
ArAr
), or X
= \({}^{40}\)K/\({}^{40}\)Ca and
Y
= \({}^{44}\)Ca/\({}^{40}\)Ca (if x
has class
KCa
), or X
= \({}^{87}\)Rb/\({}^{87}\)Sr and
Y
= \({}^{86}\)Sr/\({}^{87}\)Sr (if x
has class
RbSr
), or X
= \({}^{147}\)Sm/\({}^{143}\)Nd and
Y
= \({}^{144}\)Nd/\({}^{143}\)Nd (if x
has class
SmNd
), or X
= \({}^{187}\)Re/\({}^{187}\)Os and
Y
= \({}^{188}\)Os/\({}^{187}\)Os (if x
has class
ReOs
), or X
= \({}^{176}\)Lu/\({}^{176}\)Hf and
Y
= \({}^{177}\)Hf/\({}^{176}\)Hf (if x
has class
LuHf
).
If inverse=FALSE
, then X
=
\({}^{206}\)Pb/\({}^{204}\)Pb and Y
=
\({}^{207}\)Pb/\({}^{204}\)Pb (if x
has class
PbPb
), or X
= \({}^{232}\)Th/\({}^{204}\)Pb and
Y
= \({}^{208}\)Pb/\({}^{204}\)Pb (if x
has class
ThPb
), or X
= \({}^{39}\)Ar/\({}^{36}\)Ar and
Y
= \({}^{40}\)Ar/\({}^{36}\)Ar (if x
has class
ArAr
), or X
= \({}^{40}\)K/\({}^{44}\)Ca and
Y
= \({}^{40}\)Ca/\({}^{44}\)Ca (if x
has class
KCa
), or X
= \({}^{87}\)Rb/\({}^{86}\)Sr and
Y
= \({}^{87}\)Sr/\({}^{86}\)Sr (if x
has class
RbSr
), or X
= \({}^{147}\)Sm/\({}^{144}\)Nd and
Y
= \({}^{143}\)Nd/\({}^{144}\)Nd (if x
has class
SmNd
), or X
= \({}^{187}\)Re/\({}^{188}\)Os and
Y
= \({}^{187}\)Os/\({}^{188}\)Os (if x
has class
ReOs
), or X
= \({}^{176}\)Lu/\({}^{177}\)Hf and
Y
= \({}^{176}\)Hf/\({}^{177}\)Hf (if x
has class
LuHf
).
add Stacey-Kramers Pb-evolution curve to the plot?
If x
has class PbPb
, ThPb
,
ArAr
, KCa
, RbSr
, SmNd
, ReOs
or LuHf
, or UThHe
, returns a list with the
following items:
the intercept of the straight line fit and its standard error.
the slope of the fit and its standard error.
the covariance of the slope and intercept
the degrees of freedom of the linear fit (\(df=n-2\))
a four-element list containing:
y
: the atmospheric \(^{40}\)Ar/\(^{36}\)Ar or initial
\(^{40}\)Ca/\(^{44}\)Ca, \(^{187}\)Os/\(^{188}\)Os,
\(^{87}\)Sr/\(^{87}\)Rb, \(^{143}\)Nd/\(^{144}\)Nd,
\(^{176}\)Hf/\(^{177}\)Hf or \(^{208}\)Pb/\(^{204}\)Pb
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
).
a four-element list containing:
t
: the \(^{207}\)Pb/\(^{206}\)Pb,
\(^{208}\)Pb/\(^{232}\)Th, \(^{40}\)Ar/\(^{39}\)Ar,
\(^{40}\)K/\(^{40}\)Ca, \(^{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
).
the mean square of the residuals (a.k.a `reduced
Chi-square') statistic (omitted if model=2
).
the p-value of a Chi-square test for linearity
(omitted if model=2
)
the overdispersion term, i.e. a three-element vector with
the standard deviation of the (assumedly) Normally distributed
geological scatter that underlies the measurements, and the lower
and upper half-widths of its \(100(1-\alpha)\%\) confidence
interval (only returned if model=3
).
(only reported if x
has class PbPb
and
growth
is TRUE
) the intercept(s) of the isochron with
the Stacey-Kramers mantle evolution curve.
OR, if x
has class ThU
:
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.
the covariance matrix of par
.
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
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.
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.
the covariance between a
and b
.
the mean square of the residuals (a.k.a `reduced Chi-square') statistic.
the p-value of a Chi-square test for linearity.
the \(100(1-\alpha/2)\%\) multiplier for the confidence intervals.
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}\).
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
).
the overdispersion term, i.e. a three-element vector with
the standard deviation of the (assumedly) Normally distributed
geological scatter that underlies the measurements, and the lower
and upper half-width of its \(100(1-\alpha)\%\) confidence
interval (only returned if model=3
).
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.
the x-label of the isochron plot
the y-label of the isochron plot
OR if x
has class UPb
:
if model=1
or 2
, a three element vector
containing the isochron age and the common Pb isotope ratios. If
model=3
, adds a fourth element with the overdispersion
parameter \(w\).
the covariance matrix of par
the logarithm of par
the logarithm of cov
the number of analyses in the dataset
the degrees of freedom for the linear fit, i.e. \(2n-3\)
the y-intercept and its standard error
the isochron slope and its standard error
the covariance between a
and b
.
the mean square of the residuals (a.k.a `reduced Chi-square') statistic.
the p-value of a Chi-square test for linearity.
the \(100(1-\alpha/2)\%\) multiplier for the confidence intervals.
a three or four-element vector containing:
y
: the initial \(^{206}\)Pb/\(^{204}\)Pb-ratio (if
type=1
and x$format=4,5
or 6
);
\(^{207}\)Pb/\(^{204}\)Pb-ratio (if type=2
and
x$format=4,5
or 6
);
\(^{208}\)Pb/\(^{206}\)Pb-ratio (if type=1
and
x$format=7
or 8
);
\(^{208}\)Pb/\(^{207}\)Pb-ratio (if type=2
and
x$format=7
or 8
);
\(^{206}\)Pb/\(^{208}\)Pb-ratio (if type=3
and
x$format=7
or 8
); or
\(^{207}\)Pb/\(^{208}\)Pb-ratio (if type=4
and
x$format=7
or 8
).
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 returned
if model=1
)
the y-axis label of the isochron plot
a three (or four) element vector containing:
t
: the isochron 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 reported
if model=1
).
the x-label of the isochron plot
the y-label of the isochron plot
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
Ar-Ar, K-Ca, Pb-Pb, Th-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
. Finally, the
constrained maximum likelihood algorithm of Ludwig (1998) is used
for isochron regression of U-Pb data. 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:
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}\).
Ignore the analytical uncertainties and perform an ordinary least squares regression.
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.
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.
Ludwig, K.R., 1998. On the treatment of concordant uranium-lead ages. Geochimica et Cosmochimica Acta, 62(4), pp.665-676.
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.
# NOT RUN {
attach(examples)
isochron(RbSr)
fit <- isochron(ArAr,inverse=FALSE,plot=FALSE)
dev.new()
isochron(ThU,type=4)
# }
Run the code above in your browser using DataLab