Calculate seasonal correlation with primary and secondary climate variables and tree-ring data, similar to the seascorr function for MATLAB.
seascorr(
chrono,
climate,
var_names = NULL,
timespan = NULL,
complete = 9,
season_lengths = c(1, 3, 6),
primary = 1,
secondary = 2,
ci = 0.05,
verbose = TRUE
)
'seascorr' returns an 'object' of class '"tc_seascorr"'.
The 'plot' function is used to obtain a plot of the results.
An object of class '"tc_seascorr"' is a list containing at least the following components:
the call made to 'seascorr'
a list of length n, where n is the number of season lengths provided; each list element consists of a data.frame with end month, correlation coefficient and significance flag
the input data truncated to the common timespan or the specified timespan
the original input data, with the climate data being recast into a single data.frame
data.frame
containing a tree-ring
chronologies, e.g. as obtained by chron
of package dplR.
either a data.frame
or matrix
with
climatic data in monthly resolution, with year, month and
climate parameters in columns (all columns except year and month
will be recognized as parameters for response or correlation
functions), or a single data.frame
or matrix
in
13-column format (see below), or a (potentially named) list of
one or several of the latter.
character
vector with variable
names. Defaults to corresponding column names of parameter climate
if
given as data.frame
, or its names if given as list
.
integer
vector of length 2 specifying the
time interval (in years) to be considered for analysis. Defaults
to the maximum possible interval.
integer
scalar, month when tree-ring growth
is expected to have finished.
numeric
vector giving the lengths of
the seasons for variable grouping
position numeric
or name character
of
primary climate variable
position numeric
or name character
of secondary climate variable
numerical
value to set the test level for
significance test (values 0.01, 0.05 and 0.1 are allowed); the
confidence intervals are adapted accordingly.
logical
flag indicating if informative messages should
be written to the console (default is `TRUE`).
Christian Zang; the procedure incl. exact bootstrapping was implemented first by Dave Meko in MATLAB
This function mimicks the behaviour of the MATLAB function seascorr (Meko et al. 2011), which calculates partial correlations of tree-ring data with a primary and a secondary climatic variable for seasons of different lengths.
Input chronology data can be a data.frame
such as produced
by function chron
of package dplR. It has to be a
data.frame
with at least one column containing the
tree-ring indices, and the corresponding years as rownames
.
For climatic input data, there are three possibilities: Firstly,
input climatic data can be a data.frame
or matrix
consisting of at least 3 rows for years, months and at least one
climate parameter in the given order. Secondly, input climatic
data can be a single data.frame
or matrix
in the
style of the original DENDROCLIM2002 input data, i.e. one
parameter with 12 months in one row, where the first column
represents the year. Or thirdly, input climatic data can be a list
of several of the latter described data.frame
or
matrices
. As an internal format dispatcher checks the
format automatically, it is absolutely necessary that in all three
cases, only complete years (months 1-12) are provided. It is not
possible to mix different formats in one go.
The `complete` parameter specifies the months of the current year in which tree-growth is assumed to finish. This month marks the last month of the first season, and starting from here, 14 different seasons are computed for each specified season length in one-month steps. E.g., for a starting value of 9 (current September) and season length of 3 months, the first season comprises current July to current September, the second season comprises current June to current August, and the last season comprises previous June to previous August. This results in 14 seasons for a given season length. An arbitrary number of season lengths can be specified.
The choice for primary vs. secondary variable can be made either via numeric selection (the integer value 1 stands for the first variable in the supplied climate data set), or by name ("temp", when one of the variables is named "temp"). The correlation of the primary variable with tree-growth is computed as the simple (Pearson) correlation coefficient, while the influence of the secondary variable on tree-growth is computed with the influence of the primary variable on tree-growth removed.
Like in the original seascorr program, the significance of each (partial) correlation is evaluated using exact bootstrapping by circulant embedding of the tree-ring data (Percival & Constantine, 2006).
Meko DM, Touchan R, Anchukaitis KJ (2011) Seascorr: A MATLAB program for identifying the seasonal climate signal in an annual tree-ring time series. Computers & Geosciences, 37, 1234-1241.
Percival DB, Constantine WLB (2006) Exact simulation of Gaussian Time Series from Nonparametric Spectral Estimates with Application to Bootstrapping. Statistics and Computing 16:25-35
sc <- seascorr(muc_fake, muc_clim)
sc
plot(sc)
Run the code above in your browser using DataLab