pointer.norm: Calculate pointer years using the normalization in a moving...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/pointer.norm.R

Description

The function calculates event and pointer years on a data.frame with tree-ring series using the normalization in a moving window method introduced by Cropper (1979; cf. Schweingruber et al. 1990). This method z-transforms tree growth in year i within a symmetric moving window of n years, thereby providing the number of standard deviations that tree growth deviates in individual years (Cropper values, C) from the window average. To identify event years, one absolute threshold on the number of standard deviations can be set (cf. Cropper 1979), or, alternatively, three intensity classes (cf. Neuwirth et al. 2007). Threshold values for defining event and pointer years can be adjusted.

Prior to the calculation of event and pointer years with pointer.norm, a 13-year weighted low-pass filter, as described by Fritts (1976), may be applied on the tree-ring series using lowpass13. According to Cropper (1979), such a filter improves the detection of event and pointer years for complacent series, whereas for sensitive series filtering has little effect.

Usage

1
2
3
pointer.norm(data, window = 5, method.thresh = c("Cropper", "Neuwirth"),
             C.thresh = 0.75, N.thresh1 = 1, N.thresh2 = 1.28, 
             N.thresh3 = 1.645, series.thresh = 75)

Arguments

data

a data.frame with raw tree-ring series as columns and years as rows (e.g., output of read.rwl of package dplR), or a data.frame with filtered series (output of lowpass13).

window

an integer specifying the window size (i.e. number of years) to be used to calculate normalized growth deviations. Must be an odd number (>=3). Defaults to 5.

method.thresh

a character string of "Cropper" or "Neuwirth", specifying whether one absolute threshold or three intensity classes should be used for defining event years. Argument matching is performed.

C.thresh

a numeric specifying the threshold for identification of event years using method "Cropper". Defaults to 0.75.

N.thresh1

a numeric specifying the threshold for identification of weak event years using method "Neuwirth". Defaults to 1.

N.thresh2

a numeric specifying the threshold for identification of strong event years using method "Neuwirth". Defaults to 1.28.

N.thresh3

a numeric specifying the threshold for identification of extreme event years using method "Neuwirth". Defaults to 1.645.

series.thresh

a numeric specifying the minimum percentage of trees that should display a positive (or negative) event year for that year to be considered as positive (or negative) pointer year. Defaults to 75.

Details

The function z-transforms tree growth in year i within a symmetric moving window of n years. For method.thresh "Cropper", event years are defined as those years having absolute Cropper values above a specified threshold (defaults to |C| > 0.75). For method.thresh "Neuwirth", three classes of distinct growth deviations can be defined, being 'weak', 'strong' and 'extreme' (defaults to |C| > 1, |C| > 1.28, and |C| > 1.645). The window size can be adjusted, as well as the minimum percentage of trees that should display a positive (or negative) event year for that year to be considered as positive (or negative) pointer year.

Note that the resulting time series are truncated by (window-1)/2 at both ends inherent to the calculation methods.

Value

The function returns a list containing the following components:

Cvalues

a matrix with Cropper values for individual tree-ring series

EYvalues

a matrix indicating positive (1), negative (-1) and non-event years (0) for individual tree-ring series

out

a data.frame containing the following columns:

year - time stamp

nb.series - number of series considered

perc.pos - percentage of trees showing a positive event year

perc.neg - percentage of trees showing a negative event year

nature - number indicating whether the year is a positive (1), negative (-1) or no pointer year (0)

Cvalues_mean - mean Cropper value over the available series

Cvalues_sd - standard deviation of Cropper values

spec.param

a data.frame specifying the arguments used in the calculation

Cvalues

a matrix with Cropper values for individual tree-ring series

EYvalues

a matrix indicating weak (1/-1), strong (2/-2) and extreme (3/-3) positive/negative event years, as well as non-event years (0) for individual tree-ring series

out

a data.frame containing the following columns:

year - time stamp

nb.series - number of series considered

perc.pos.extreme - percentage of trees showing a positive extreme event year

perc.pos.strong - percentage of trees showing a positive strong event year

perc.pos.weak - percentage of trees showing a positive weak event year

perc.neg.weak - percentage of trees showing a negative weak event year

perc.neg.strong - percentage of trees showing a negative strong event year

perc.neg.extreme - percentage of trees showing a negative extreme event year

nature - number indicating whether the year is a positive (1), negative (-1) or no pointer year (0)

Cvalues_mean - mean Cropper value over the available series

Cvalues_sd - standard deviation of Cropper values

spec.param

a data.frame specifying the arguments used in the calculation

Author(s)

Marieke van der Maaten-Theunissen and Ernst van der Maaten.

References

Cropper, J.P. (1979) Tree-ring skeleton plotting by computer. Tree-Ring Bulletin 39: 47-59.

Fritts, H.C. (1976) Tree rings and climate. Academic Press Inc. (London) Ltd.

Neuwirth, B., Schweingruber, F.H. and Winiger, M. (2007) Spatial patterns of central European pointer years from 1901 to 1971. Dendrochronologia 24: 79-89.

Schweingruber, F.H., Eckstein, D., Serre-Bachet, F. and Br<c3><a4>ker, O.U. (1990) Identification, presentation and interpretation of event years and pointer years in dendrochronology. Dendrochronologia 8: 9-38.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
## Calculate pointer years on tree-ring series using method.thresh "Cropper"
## and a user-defined threshold for event-year definition of 1
data(s033)
py_c <- pointer.norm(s033, window = 5, method.thresh = "Cropper", 
                     C.thresh = 1, series.thresh = 75)
py_c$out

## Calculate pointer years on tree-ring series using method.thresh "Neuwirth"
data(s033)
py_n <- pointer.norm(s033, window = 5, method.thresh = "Neuwirth", 
                     series.thresh = 75)
py_n$out

pointRes documentation built on May 1, 2019, 8:45 p.m.