Learn R Programming

rgr (version 1.1.0)

gx.robmva.closed: Function to undertake a Robust Closed Data Multivariate EDA

Description

The function carries out a robust Principal Components Analysis (PCA) and estimates the Mahalanobis distances for a closed, compositional, dataset and places the results in an object to be saved and post-processed for display and further manipulation. Robust procedures are used, MCD, MVE or user supplied weights, for classical procedures see gx.mva, or for non-compositional data and robust procedures see gx.robmva. For results display see gx.rqpca.screeplot, gx.rqpca.plot, gx.rotate, gx.md.plot and gx.md.print.

Usage

gx.robmva.closed(xx, proc = "mcd", wts = NULL,
	main = deparse(substitute(xx)))

Arguments

xx
a n by p data matrix to be processed.
proc
by default proc = "mcd" for the Minimimum Covariance Determinant (MCD) robust procedure. Setting proc = "mve" results in the Minimum Volume Ellipsoid (MVE) procedure being used. If p > 50 the MVE procedure is used.
wts
by default wts = NULL and the MCD or MVE estimation procedures will be used. If, however, a vector of n 0 or 1 weights are supplied these will be used for robust estimation and the value of proc
main
by default the name of the object xx, main = deparse(substitute(xx)), it may be replaced by the user, but this is not recommended, see Details below.

Value

  • The following are returned as an object to be saved for subsequent display, etc.:
  • mainby default (recommended) the input data matrix name.
  • inputthe data matrix name, input = deparse(substitute(xx)), retained to be used by post-processing display functions.
  • procthe robust procedure used, the value of proc will be "mcd", "mve" or "wts".
  • nthe total number of individuals (observations, cases or samples) in the input data matrix.
  • ncthe number of individuals remaining in the core data subset following the robust estimation, i.e. the sum of those individuals with wts = 1.
  • pthe number of variables on which the multivariate operations were based.
  • ifilrflag for gx.md.plot, set to TRUE.
  • matnamesthe row numbers and column headings of the input matrix.
  • wtsthe vector of weights for the n individuals arising from the robust estimation of the covariance matrix and means.
  • meanthe vector of clr-based weighted means for the p variables.
  • covthe p by p weighted clr-based covariance matrix for the n by p data matrix.
  • sdthe vector of weighted clr-based standard deviations for the p variables.
  • sndthe n by p matrix of clr-based weighted standard normal deviates.
  • rthe p by p matrix of weighted clr-based Pearson product moment correlation coefficients.
  • eigenvaluesthe vector of p eigenvalues of the scaled clr-based Pearson robust correlation matrix for RQ analysis, see Grunsky (2001).
  • econtribthe vector of p robustly estimated eigenvalues each expressed as a percentage of the sum of the eigenvalues.
  • eigenvectorsthe n by p matrix ofclr-based robustly estimated eigenvectors.
  • rloadthe p by p matrix of robust clr-based Principal Component (PC) loadings.
  • rcrthe p by p matrix containing the percentages of the variability of each variable (columns) expressed in each robust clr-based PC (rows).
  • rqscorethe n by p matrix of the n individuals scores on the p robust clr-based PCs.
  • vcontriba vector of p variances of the columns of rqscore.
  • pvcontribthe vector of p variances of the columns of rqscore expressed as percentages. This is a check on vector econtrib, the values should be identical for a classical PCA. However, for robust PCAs this is not so as the trimmed individuals from the robust estimation have been re-introduced. As a consequence pvcontrib can be very different from econtrib. The plotting of PCs containing high proportions of the variance in robust PCAs can be useful for identifying outliers.
  • cpvcontribthe vector of p cumulative sums of pvcontrib, see above.
  • mdthe vector of n robust ilr-based Mahalanobis distances (MDs) for the n by p input matrix.
  • ppmthe vector of n robust ilr-based predicted probabilities of population membership, see Garrett (1990).
  • epmthe vector of n robust ilr-based empirical Chi-square probabilities for the MDs.
  • nrthe number of PCs that have been rotated. At this stage of a data analysis nr = NULL in order to control PC plot axis labelling.

Details

The data are initially isometrically log-ratio transformed and a robust covariance matrix and vector of means estimated, by either the Minimum Covariance Determinant (MCD) or Minimum Volume Elloipsoid (MVE) procedures, or on the basis of a vector of user supplied weights. The Mahalanobis distances are computed on the basis of the ilr transformed data. The ilr transformed data and robust estimates are then back-transformed to the centred log-ratio space and a Principal Components Analysis (PCA) undertaken (see Filzmoser, et al., 2009), permitting the results to be interpreted in the original variable space. If main is undefined the name of the matrix object passed to the function is used to identify the object. This is the recommended procedure as it helps to track the progression of a data analysis. Alternate plot titles are best defined when the saved object is passed to gx.rqpca.plot, gx.rqpca.screeplot or gx.md.plot for display. If no plot title is required set main = "", or if a user defined plot title is required it may be defined, e.g., main = "Plot Title Text".

References

Filzmoser, P., Hron, K., Reimann, C. and Garrett, R., 2009. Robust factor analysis for compositional data. Computers & Geosciences, 35(9):1854-1861. Garrett, R.G., 1990. A robust multivariate allocation procedure with applications to geochemical data. In Proc. Colloquium on Statistical Applications in the Earth Sciences (Eds F.P. Agterberg & G.F. Bonham-Carter). Geological Survey of Canada Paper 89-9, pp. 309-318. Garrett, R.G., 1993. Another cry from the heart. Explore - Assoc. Exploration Geochemists Newsletter, 81:9-14. Grunsky, E.C., 2001. A program for computinRQ-mode principal components analysis for S-Plus and R. Computers & Geosciences, 27(2):229-235. Reimann, C., Filzmoser, P., Garrett, R. and Dutter, R., 2008. Statistical Data Analysis Explained: Applied Environmental Statistics with R. John Wiley & Sons, Ltd., 362 p.

See Also

ltdl.fix.df, remove.na, na.omit, orthonorm, gx.rqpca.screeplot, gx.rqpca.plot, gx.rotate, gx.md.plot, gx.md.print, gx.robmva

Examples

Run this code
## Make test data available
data(sind)
attach(sind)
sind.mat <- as.matrix(sind[, -c(1:3)])
## Ensure all data are in the same units (mg/kg)
sind.mat2open <- sind.mat
sind.mat2open[, 2] <- sind.mat2open[, 2] * 10000

## Generate gx.robmva.closed object
sind.save <- gx.robmva.closed(sind.mat2open)

## Display Mahalanobis distances
gx.md.plot(sind.save)

## Display default PCA results
gx.rqpca.screeplot(sind.save)
gx.rqpca.plot(sind.save)

## Display appropriately annotated results
gx.md.plot(sind.save,
main = "Howarth & Sinding-Larsen
Stream Sediments, Opened Data",
cex.main=0.8)
gx.rqpca.screeplot(sind.save,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")
gx.rqpca.plot(sind.save,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")
gx.rqpca.plot(sind.save, rowids = TRUE, cex = 0.8,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")
sind.save$pvcontrib
gx.rqpca.plot(sind.save, v1 = 3, v2 =4, rowids = TRUE, cex = 0.8,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")

## Display Kaiser Varimax rotated (nrot = 4) results
sind.save.rot4 <- gx.rotate(sind.save, 4)
gx.rqpca.plot(sind.save.rot4,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")
gx.rqpca.plot(sind.save.rot4, rowids = TRUE, cex = 0.8,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")
gx.rqpca.plot(sind.save.rot4, v1 = 3, v2 =4, rowids = TRUE, cex = 0.8,
main = "Howarth & Sinding-Larsen Stream Sediments
Opened Data")

## Clean-up and detach test data
rm(sind.mat)
rm(sind.mat2open)
rm(sind.save)
rm(sind.save.rot4)
detach(sind)

Run the code above in your browser using DataLab