Learn R Programming

dplR (version 1.8.0)

common.interval: Common Interval

Description

This function finds the common interval on a set of tree-ring widths such as that produced by read.rwl.

Usage

common.interval(rwl, type=c("series", "years", "both"),
                make.plot=TRUE)

Value

A data.frame with colnames(x) and

rownames(x), with no missing values. It has the class of rwl: ring-width indices (class "rwi", see

as.rwi) come back as indices. If the years kept are not consecutive, which type = "years" can give when a series has an interior gap, the result is a plain data.frame, with a warning (see [.rwl).

Arguments

rwl

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

type

a character string of "series", "years", or "both". Argument matching is performed.

make.plot

a logical indicating if a plot should be drawn

Author

Filipe Campelo, Andy Bunn and Mikko Korpela

Details

This trims an rwl object to a common interval that maximizes the number of series (type="series"), the number of years (type="years"), or a compromise between the two (type="both"). A modified seg.plot can be drawn as well.

Series with no values are left out. A single series is its own common interval, and its measured years are returned. If there are two or more series and no year in which any two of them overlap, or no series has any values, there is no common interval and that is an error.

See Also

seg.plot

Examples

Run this code
library(utils)
data(co021)
co021.s <- common.interval(co021, type="series", make.plot=TRUE)
co021.y <- common.interval(co021, type="years", make.plot=TRUE)
co021.b <- common.interval(co021, type="both", make.plot=TRUE)

dim(co021)
dim.s <- dim(co021.s)
dim.s       # the highest number of series
prod(dim.s) #   (33 series x 288 years = 9504)
dim.y <- dim(co021.y)
dim.y       # the highest number of years
prod(dim.y) #   (27 series x 458 years = 12366)
dim.b <- dim(co021.b)
dim.b       # compromise solution
prod(dim.b) #   (28 series x 435 years = 12180)

Run the code above in your browser using DataLab