eof(x, n, scale. = TRUE)
Eigenvectors (unscaled EOFs) and corresponding eigenvalues (amount of explained variance) are found by singular value decomposition of the centered and (optionally) scaled data matrix using prcomp
. In order to facilitate a physical interpretation of the variability modes, a subset consisting of the n
most important EOFs is rotated (Richman 1986). eofNum
can be used to help choose n
. Hannachi et al. (2007) recommend orthogonal rotation of EOFs scaled by the square root of the corresponding eigenvalues to avoid possible computation problems and reduce sensitivity to the choice of n
. We follow this recommendation here, using the varimax
method for the orthogonal rotation.
Note that the signs of the EOFs are arbitrary.
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.
eofNum
, eofPlot
, monthCor
, ts2df
# 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