Computes the correlation between each tree-ring series in a rwl object.
corr.rwl.seg(rwl, seg.length = 50, bin.floor = 100, n = NULL,
prewhiten = TRUE, pcrit = 0.05, biweight = TRUE,
method = c("spearman", "pearson","kendall"),
make.plot = TRUE, label.cex = 1, floor.plus1 = FALSE,
master = NULL,
master.yrs = as.numeric(if (is.null(dim(master))) {
names(master)
} else {
rownames(master)
}),
...)
A list
containing matrices spearman.rho
,
p.val
, overall
, bins
,
rwi
, vector avg.seg.rho
,
numeric seg.lag
, seg.length
, pcrit
,
label.cex
. An additional character
flags
is also returned if any segments fall below the
critical value. Matrix spearman.rho
contains the
correlations for each series by bin. Matrix p.val
contains the p-values on the correlation for each series by
bin. Matrix overall
contains the average correlation and
p-value for each series. Matrix bins
contains the years
encapsulated by each bin. The vector avg.seg.rho
contains the average correlation for each bin. Matrix rwi
contains the detrended rwl data, the numerics seg.lag
,
seg.length
, pcrit
, label.cex
are from the oroginal call and used to pass into plot.crs
.
a data.frame
with series as columns and years as
rows such as that produced by read.rwl
.
an even integral value giving length of segments in years (e.g., 20, 50, 100 years).
a non-negative integral value giving the base for locating the first segment (e.g., 1600, 1700, 1800 AD). Typically 0, 10, 50, 100, etc.
NULL
or an integral value giving the filter length
for the hanning
filter used for removal of low
frequency variation.
logical
flag. If TRUE
each series is
whitened using ar
.
a number between 0 and 1 giving the critical value for the correlation test.
logical
flag. If TRUE
then a robust
mean is calculated using tbrm
.
Can be either "pearson"
, "kendall"
, or
"spearman"
which indicates the correlation coefficient to be
used. Defaults to "spearman"
. See cor.test
.
logical flag
indicating whether to make a
plot.
numeric
scalar for the series labels on the
plot. Passed to axis.cex
in axis
.
logical
flag. If TRUE
, one year is
added to the base location of the first segment (e.g., 1601, 1701,
1801 AD).
NULL
, a numeric
vector
or a
matrix
-like object of numeric
values, including a
data.frame
. If NULL
, a number of master chronologies,
one for each series in rwl
, is built from
rwl
using the leave-one-out principle. If a
vector
, the function uses this as the master chronology. If
a matrix
or data.frame
, this object is used for
building the master chronology (no leave-one-out).
a numeric
vector giving the years of
series
. Defaults to names
or rownames
of
master
coerced to numeric
type.
other arguments passed to plot.
Andy Bunn. Patched and improved by Mikko Korpela.
This function calculates correlation serially between each tree-ring
series and a master chronology built from all the other series in the
rwl
object (leave-one-out principle). Optionally, the
user may give a master
chronology (a vector
) as an
argument. In the latter case, the same master chronology is used for
all the series in the rwl
object. The user can also
choose to give a master
data.frame
(series as
columns, years as rows), from which a single master chronology is
built.
Correlations are done for each segment of the series where segments
are lagged by half the segment length (e.g., 100-year segments would
be overlapped by 50-years). The first segment is placed according to
bin.floor
. The minimum bin year is calculated as
ceiling(min.yr/bin.floor)*bin.floor
where
min.yr
is the first year in either the rwl
object or the user-specified master
chronology, whichever
is smaller. For example if the first year is 626 and
bin.floor
is 100 then the first bin would start in 700.
If bin.floor
is 10 then the first bin would start in 630.
Correlations are calculated for the first segment, then the second
segment and so on. Correlations are only calculated for segments with
complete overlap with the master chronology. For now, correlations are
Spearman’s rho calculated via cor.test
using
method = "spearman"
.
Each series (including those in the rwl object) is optionally
detrended as the residuals from a hanning
filter with
weight n
. The filter is not applied if n
is
NULL
. Detrending can also be done via prewhitening where the
residuals of an ar
model are added to each series
mean. This is the default. The master chronology is computed as the
mean of the rwl
object using tbrm
if
biweight
is TRUE
and rowMeans
if not. Note
that detrending can change the length of the series. E.g., a
hanning
filter will shorten the series on either end by
floor(n/2)
. The prewhitening default will change the
series length based on the ar
model fit. The effects of
detrending can be seen with series.rwl.plot
.
The function is typically invoked to produce a plot where each segment for each series is colored by its correlation to the master chronology. Green segments are those that do not overlap completely with the width of the bin. Blue segments are those that correlate above the user-specified critical value. Red segments are those that correlate below the user-specified critical value and might indicate a dating problem.
corr.series.seg
, skel.plot
,
series.rwl.plot
, ccf.series.rwl
,
plot.crs
library(utils)
data(co021)
crs <- corr.rwl.seg(co021, seg.length = 100, label.cex = 1.25)
names(crs)
## Average correlation and p-value for the first few series
head(crs$overall)
## Average correlation for each bin
crs$avg.seg.rho
Run the code above in your browser using DataLab