chron.stabilized {dplR}R Documentation

Build Mean Value Chronology with Stabilized Variance


This function builds a variance stabilized mean-value chronology, typically from a data.frame of detrended ring widths as produced by detrend.


chron.stabilized(x, winLength, biweight = TRUE, running.rbar = FALSE)



a data.frame of ring widths with rownames(x) containing years and colnames(x) containing each series ID such as produced by read.rwl


a odd integer specifying the window length.


logical flag. If TRUE then a robust mean is calculated using tbrm.


logical flag. If TRUE the running interseries correlation is returned as well.


The variance of a mean chronology depends on the variance of the individual samples, the number of series averaged together, and their interseries correlation (Wigley et al. 1984). As the number of series commonly decreases towards the beginning of a chronology averaging introduces changes in variance that are a solely an effect of changes in sample depth.

Additionally, time-dependent changes in interseries correlation can cause artificial variance changes of the final mean chronology. The function chron.stabilized accounts for both temporal changes in the interseries correlation and sample depth to produce a mean value chronology with stabilized variance.

The basic correction centers around the use of the effective independent sample size, Neff, which considers sample replication and mean interseries correlation between the samples at every time. This is defined as: Neff = n(t) / 1+(n(t)-1)rbar(t)

where n(t) is the number of series at time t, and rbar is the interseries correlation (see interseries.cor). Multiplication of the mean time series with the square root of Neff at every time t theoretically results in variance that is independent of sample size. In the limiting cases, when the rbar is zero or unity, Neff obtains values of the true sample size and unity, respectively.


An object of of class crn and data.frame with the variance stabilized chronology, running interseries correlation ('if, and the sample depth.


Original code by David Frank and adapted for dplR by Stefan Klesse. Patched and improved by Andy Bunn.


Frank, D, Esper, J, Cook, E, (2006) On variance adjustments in tree-ring chronology development. Tree rings in archaeology, climatology and ecology, TRACE 4, 56–66

Frank, D, Esper, J, Cook, E, (2007) Adjustment for proxy number and coherence in a large-scale temperature reconstruction. Geophysical Research Letters 34

Wigley, T, Briffa K, Jones P (1984) On the Average Value of Correlated Time Series, with Applications in Dendroclimatology and Hydrometeorology. J. Climate Appl. Meteor., 23, 201–213

See Also



co021.rwi <- detrend(co021,method = "Spline")
co021.crn <- chron(co021.rwi)
co021.crn2 <- chron.stabilized(co021.rwi,
                                biweight = TRUE,
                                running.rbar = FALSE)
yrs <- time(co021)

[Package dplR version 1.7.6 Index]