Learn R Programming

wq (version 0.4.3)

eof: Empirical orthogonal functions

Description

Finds and rotates empirical orthogonal functions (EOFs, or principal components).

Usage

eof(x, n)

Arguments

Value

A list with the following members:REOFa data frame with rotated EOFsamplitudea data frame with amplitude time series of REOFseigen.pctall eigenvalues of correlation matrix as percent of total variancevariancevariance explained by retained EOFs

Rdversion

1.1

Details

This function is basically just a wrapper for prcomp followed by promax and is meant to facilitate routine examination of variability modes in collections of time series. For the usage intended in this package, each row of x usually will be an observation for a specific time or time period. Each column will be a specific location---the most common usage---but can also be seasons of the year (Jassby et al. 1999) or even a combination of seasons and depth layers (Jassby et al. 1990). First, eigenvalues are found by singular value decomposition of the correlation matrix. eofNum can be used to help choose n. The first n EOFs are then rotated using the promax method with power m = 2 (Richman 1986). Hannachi et al. (2007) give a detailed discussion of this exploratory approach with emphasis on meteorological data.

References

Hannachi, A., Jolliffe, I.T., and Stephenson, D.B. (2007) Empirical orthogonal functions and related techniques in atmospheric science: A review. International Journal of Climatology 27, 1119--1152.

Jassby, A.D., Powell, T.M., and Goldman, C.R. (1990) Interannual fluctuations in primary production: Direct physical effects and the trophic cascade at Castle Lake, California (USA). Limnology and Oceanography 35, 1021--1038.

Jassby, A.D., Goldman, C.R., Reuter, J.E., and Richards, R.C. (1999) Origins and scale dependence of temporal variability in the transparency of Lake Tahoe, California-Nevada. Limnology and Oceanography 44, 282--294.

Richman, M. (1986) Rotation of principal components. Journal of Climatology 6, 293--335.

See Also

eofNum, eofPlot, monthCor, ts2df

Examples

Run this code
# Create an annual matrix time series
chla1 <- aggregate(sfbayChla, 1, mean, na.rm = TRUE)
chla1 <- chla1[, 1:12]  # remove stations with missing years
# eofNum (see examples) suggests n = 1
eof(chla1, 1)

Run the code above in your browser using DataLab