Learn R Programming

pastecs (version 1.0-2)

escouf: Choose variables using the Escoufier's equivalent vectors method

Description

Calculate equivalent vectors sensu Escoufier, that is, most significant variables from a multivariate data frame according to a principal component analysis (variables that are most correlated with the principal axes). This method is useful mainly for physical or chemical data where simply summarizing them with a PCA does not always gives easily interpretable principal axes.

Usage

escouf(x, level=1, verbose=TRUE)
## S3 method for class 'escouf':
summary(esc)
## S3 method for class 'escouf':
plot(esc, level=x$level, lhorz=TRUE, lvert=TRUE, lvars=TRUE,
        lcol=2, llty=2, diff=TRUE, dlab="RV' (units not shown)", dcol=4,
        dlty=par("lty"), dpos=0.8, ...)
## S3 method for class 'escouf':
lines(esc, level=x$level, lhorz=TRUE, lvert=TRUE, lvars=TRUE,
        lcol=2, llty=2, \dots)
## S3 method for class 'escouf':
identify(esc, lhorz=TRUE, lvert=TRUE, lvars=TRUE, lcol=2,
        llty=2, \dots)
## S3 method for class 'escouf':
extract(esc, n=NULL, level=e$level)

Arguments

x
A data frame containing the variables to sort according to the Escoufier's method
level
The level of correlation at which to stop calculation. By default level=1, the highest value, and all variables are sorted. Specify a value lower than one to speed up calculation. If you specify a too low values you will not be able to extrac
verbose
Print calculation steps. This allows to control the percentage of calculation already achieved when computation takes a long time (that is, with many variables to sort)
esc
An 'escouf' object returned by escouf
lhorz
If TRUE then an horizontal line indicating the extraction level is drawn
lvert
If TRUE then a vertical line separate the n extracted variables at left from the rest
lvars
If TRUE then the x-axis labels of the n extracted variables at left are printed in a different color to emphasize them
lcol
The color to use to draw the lines (lhorz=TRUE and lvert=TRUE) and the variables labels (lvars=TRUE) of the n extracted variables. By default, color 2 is used
llty
The style used to draw the lines (lhorz=TRUE and lvert=TRUE). By default, lines are dashed
diff
If TRUE then the RV' curve is also plotted (by default)
dlab
The label to use for the RV' curve. By default: "RV' (units not shown)"
dcol
The color to use for the RV' curve (by default, color 4 is used)
dlty
The style for the RV' curve
dpos
The relative horizontal position of the label for the RV' curve. The default value of 0.8 means that the label is placed at 80% of the horizontal axis.Vertical position of the label is automatically determined
...
additional graph parameters
n
The number of variables to extract. If a value is given, it has the priority on level

Value

  • An object of type 'escouf' is returned. It has methods print(), summary(), plot(), lines(), identify(), extract().

synopsis

escouf(x, level=1, verbose=TRUE) extract.escouf(e, n, level=e$level, ...) identify.escouf(x, lhorz=TRUE, lvert=TRUE, lvars=TRUE, col=2, lty=2, ...) lines.escouf(x, level=x$level, lhorz=TRUE, lvert=TRUE, lvars=TRUE, col=2, lty=2, ...) plot.escouf(x, level=x$level, lhorz=TRUE, lvert=TRUE, lvars=TRUE, lcol=2, llty=2, diff=TRUE, dlab="RV' (units not shown)", dcol=4, dlty=par("lty"), dpos=0.8, type="s", xlab="variables", ylab="RV", main=paste("Escoufier's equivalent vectors for:",x$data), ...) print.escouf(x, ...) print.summary.escouf(x, ...) summary.escouf(object, ...)

WARNING

Since a large number of iterations is done, this function is slow with a large number of variables (more than 25-30)!

References

Cambon, J., 1974. Vecteur �quivalent � un autre au sens des composantes principales. Application hydrologique. DEA de Math�matiques Appliqu�es, Universit� de Montpellier. Escoufier, Y., 1970. Echantillonnage dans une population de variables al�atoires r�elles. Pub. Inst. Stat. Univ. Paris, 19:1-47. Jabaud, A., 1996. Cadre climatique et hydrobiologique du lac L�man. DEA d'Oc�anologie Biologique Paris.

See Also

abund

Examples

Run this code
data(marbio)
marbio.esc <- escouf(marbio)
summary(marbio.esc)
plot(marbio.esc)
# The x-axis has short labels. For more info., enter: 
marbio.esc$vr
# Define a level at which to extract most significant variables
marbio.esc$level <- 0.90
# Show it on the graph
lines(marbio.esc)
# This can also be done interactively on the plot using:
# marbio.esc$level <- identify(marbio.esc)
# Finally, extract most significant variables
marbio2 <- extract(marbio.esc)
names(marbio2)

Run the code above in your browser using DataLab