bai.out: Basal Area Increment (Outside In)

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/bai.out.R

Description

Convert multiple ring-width series to basal area increment (i.e., ring area) going from the bark to the pith.

Usage

1
bai.out(rwl, diam = NULL)

Arguments

rwl

a data.frame with series as columns and years as rows such as that produced by read.rwl

diam

an optional data.frame containing two variables. If present, variable one (series in the example below) gives the series ID as either characters or factors. These must exactly match colnames(rwl). Variable two (diam in the example below) gives the diameter of the tree (in mm) up to the outermost ring (e.g., the diameter of the tree where the core was taken minus the thickness of the bark). If diam is NULL then the diameter is taken as twice the sum of the widths for each series (column) in rwl.

Details

This converts ring-width series (mm) to ring-area series (mm squared) (aka basal area increments) based on the diameter of the tree and the width of each ring moving towards the pith of the tree. It is related to bai.in, which calculates each ring area starting from the inside of the tree and working outward. Both methods assume a circular cross section (Biondi 1999). See the references below for further details.

Value

A data.frame containing the ring areas for each series with column names, row names and dimensions of rwl.

Note

DendroLab website: http://dendrolab.org/

Author(s)

Code by Andy Bunn based on work from DendroLab, University of Nevada Reno, USA. Patched and improved by Mikko Korpela.

References

Biondi, F. (1999) Comparing tree-ring chronologies and repeated timber inventories as forest monitoring tools. Ecological Applications, 9(1), 216–227.

Biondi, F. and Qeadan, F. (2008) A theory-driven approach to tree-ring standardization: Defining the biological trend from expected basal area increment. Tree-Ring Research, 64(2), 81–96.

See Also

bai.in

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
library(graphics)
library(utils)
## Not run: 
library(stats)
## Toy
n <- 100
## Make three fake tree-ring series to show that these funcs work on rwl objects
base.series <- 0.75 + exp(-0.2 * 1:n)
rwl <- data.frame(x1 = base.series + abs(rnorm(n, 0, 0.05)),
                  x2 = base.series + abs(rnorm(n, 0, 0.05)),
                  x3 = base.series + abs(rnorm(n, 0, 0.05)))

## The inside out method
foo <- bai.in(rwl = rwl)
## The outside in method
bar <- bai.out(rwl = rwl)

## Identical
head(bar)
head(foo)

## End(Not run)
## Use gp data
data(gp.rwl)
data(gp.dbh)
## dbh (minus the bark) from cm to mm 
gp.dbh2 <- gp.dbh[, 1:2]
gp.dbh2[, 2] <- (gp.dbh[, 2] - gp.dbh[, 3]) * 10
bar <- bai.out(rwl = gp.rwl, diam = gp.dbh2)
bar.crn <- chron(bar)
yrs <- time(bar.crn)
plot(yrs, bar.crn[, 1], type = "n",
     xlab = "Year", ylab = expression(mm^2))
lines(yrs, bar.crn[, 1], col = "grey", lty = "dashed")
lines(yrs, ffcsaps(bar.crn[, 1], nyrs = 32), col = "red", lwd = 2)

Example output

         x1        x2        x3
1  8.049229  7.763026  8.300692
2 21.516934 20.477714 21.779773
3 30.492061 31.898427 30.879114
4 38.241135 38.164950 39.829383
5 45.947461 43.828173 46.317895
6 49.792601 49.227733 48.944293
         x1        x2        x3
1  8.049229  7.763026  8.300692
2 21.516934 20.477714 21.779773
3 30.492061 31.898427 30.879114
4 38.241135 38.164950 39.829383
5 45.947461 43.828173 46.317895
6 49.792601 49.227733 48.944293

dplR documentation built on May 2, 2019, 6:06 p.m.