Learn R Programming

wq (version 0.4.3)

phenoPhase: Phenological phase

Description

Finds various measures of the phase of the annual cycle, or of some specified month range.

Usage

## S3 method for class 'ts':
phenoPhase(x, mon.range = c(1, 12), ...)

## S3 method for class 'zoo': phenoPhase(x, mon.range = c(1, 12), out = c('date', 'doy', 'julian'), ...)

Arguments

Value

A data frame. In the case of monthly time series, the results are all given as decimal months of the year. In the case of dated observations, the results can be dates, day of the year, or julian day with an origin of 1970-01-01, depending on the option out.

Rdversion

1.1

Details

phenoPhase gives three measures of the phasing of a seasonal cycle: the time of the maximum (Cloern and Jassby 2008), the fulcrum or center of gravity, and the weighted mean month (Colebrook 1979). The latter has sometimes been referred to in the literature as centre of gravity, but it is not actually the same. These measures differ in their sensitivity to changes in the seasonal pattern, and therefore also in their susceptibility to sampling variability. The time of maximum is the most sensitive, the weighted mean the least.

These measures can be restricted to a subset of the year by giving the desired range of month numbers. This can be useful for isolating measures of, say, the spring and autumn phytoplankton blooms in temperate waters. In the case of a monthly time series, a non-missing value is required for every month or the result will be NA, so using a period shorter than one year can also help avoid any months that are typically not covered by the sampling program. Similarly, in the case of dated observations, a shorter period can help avoid times of sparse data.

The measures are annum-centric, i.e., they reflect the use of calendar year as the annum, which may not be appropriate for cases in which important features occur in winter and span two calendar years. Such cases can be handled by lagging the time series by an appropriate number of months, or by subtracting an appropriate number of days from the individual dates.

tsMake can be used to produce "ts" and "zoo" objects suitable as arguments to this function.

The default parameters used for the integrate function in phenoPhase may fail for certain datasets. Try increasing the number of subdivisions above its default of 100 by adding, for example, subdivisions = 1000 to the arguments of phenoPhase.

References

Cloern, J.E. and Jassby, A.D. (2008) Complex seasonal patterns of primary producers at the land-sea interface. Ecology Letters 11, 1294--1303.

Colebrook, J.M. (1979) Continuous plankton records - seasonal cycles of phytoplankton and copepods in the North Atlantic ocean and the North Sea. Marine Biology 51, 23--32.

See Also

phenoAmp, tsMake

Examples

Run this code
# ts example
y <- sfbayChla[, 's27']
p1 <- phenoPhase(y)
p1
apply(p1, 2, sd, na.rm=TRUE)  # max.mon > fulcrum > mean.wt 
phenoPhase(y, c(3, 10))

# zoo example
sfb <- wqData(sfbay, c(1,3,4), 5:12, site.order = TRUE, type = "wide", 
  time.format = "%m/%d/%Y")
y <- tsMake(sfb, focus = 'chl', layer = c(0, 5), type = 'zoo')
phenoPhase(y[, 's27'])

Run the code above in your browser using DataLab