plot.pca {labdsv}R Documentation

Plotting Routines For Principal Components Ordinations

Description

A set of routines for plotting, highlighting points, or adding fitted surfaces to PCAs.

Usage

## S3 method for class 'pca':
plot(x, ax = 1, ay = 2, col = 1, title = "", pch = 1, ...)
## S3 method for class 'pca':
points(x, which, ax = 1, ay = 2, col = 2, pch = 1, cex = 1, ...)
## S3 method for class 'pca':
plotid(ord, ids = seq(1:nrow(ord$scores)), ax = 1, ay = 2,
    col = 1, ...)
## S3 method for class 'pca':
hilight(ord, overlay, ax = 1, ay = 2, cols=c(2,3,4,5,6,7), glyph=c(1,3,5),
    origpch = 1, blank = '#FFFFFF', ...)
## S3 method for class 'pca':
chullord(ord, overlay, ax = 1, ay = 2, cols=c(2,3,4,5,6,7), ltys = c(1,2,3), ...)
## S3 method for class 'pca':
surf(ord, var, ax = 1, ay = 2, col = 2, labcex = 0.8,
    family = gaussian, thinplate=TRUE, grid=50, gamma=1, ...)
## S3 method for class 'pca':
varplot(x, dim=length(x$sdev))

Arguments

x an object of class ‘pca’
ax the dimension to use for the X axis
ay the dimension to use for the Y axis
title a title for the plot
which a logical variable to specify points to be highlighted
ord an object of class ‘pca’
overlay a factor or integer vector to hilight or distinguish
cols the sequence of color indices to be used
glyph the sequence of glyphs (pch) to be used
origpch the pch number of the glyph employed in the original plot (to be obliterated by blank)
blank the color to use to erase the glyphs of the original plot
ltys the sequence of line types to be used
var a variable to be surfaced
family controls the link function passed to ‘gam’: one of ‘gaussian’, ‘binomial’, or ‘poisson’
ids identifier labels for samples. Defaults to 1:n
dim number of dimensions to include in barplot
col color index for points or contours
labcex size of contour interval labels
thinplate a logical swith to control using thinplate splines versus independent additive fits
gamma controls the smoothness of the fit from gam
grid the number of X and Y values used in establishing a grid
pch plot character: glyph to plot
cex character expansion factor: size of plotted characters
... arguments to pass to the plot function

Details

Function ‘plot’ produces a scatterplot of sample scores for the specified axes, erasing or over-plotting on the current graphic device. Axes dimensions are controlled to produce a graph with the correct aspect ratio. Functions ‘points’, ‘plotid’, ‘hilight’, ‘chullord’, and ‘surf’ add detail to an existing plot. The axes specified must match the underlying plot exactly.

Function ‘plotid’ identifies and labels samples (optionally with values from a third vector) in the PCA, and requires interaction with the mouse: left button identifies, right button exits.

Function ‘points’ is passed a logical vector to identify a set of samples by color of glyph. It can be used to identify a single set meeting almost any criterion that can be stated as a logical expression.

Function ‘hilight’ is passed a factor vector or integer vector, and identifies factor values by color and glyph. By specifying values for arguments ‘cols’ and ‘glyph’ it is possible to control the sequence of colors and pch glyphs used in the hilight.

Function ‘chullord’ is passed a factor vector or integer vector, and plots a convex hull around all points in each factor class. By specifying values for arguments ‘cols’ and ‘ltys’ it is possible to control the sequence of colors and linetypes of the convex hulls.

Function ‘surf’ calculates and plots fitted surfaces for logical or quantitative variables. The function employs the gam function to fit a variable to the ordination coordinates, and to predict the values at all grid points. The grid is established with the ‘expand.grid’ function, and the grid is then specified in a call to ‘gam.predict’. The predicted values are trimmed to the the convex hull of the data, and the contours are fit by ‘contour’. The default link function for fitting the GAMs is ‘gaussian’, suitable for unbounded continuous variables. For logical variables you should specify ‘family = binomial’ to get a logistic GAM, and for integer counts you should specify ‘family = poisson’ to get a Poisson GAM.

Value

Function ‘plotid’ returns a vector of row numbers of identified plots.
Function ‘varplot.pca’ produces two plots: (1) the variance accounted for by eigenvector up to the specified number of dimensions (default = all), and (2) the cumulative variance accounted for by dimension.

Note

Previous versions of surf relied on the ‘interp’ function of package akima. The revised routine using predict.gam was suggested by Jari Oksanen as used in packagevegan.

Author(s)

David W. Roberts droberts@montana.edu

References

http://ecology.msu.montana.edu/labdsv/R/labdsv

Examples

data(bryceveg)
data(brycesite)
pca.1 <- pca(bryceveg)
plot(pca.1)
points(pca.1,brycesite$elev>8000)
surf(pca.1,brycesite$elev)
## Not run: plotid(pca.1,ids=row.names(bryceveg))

[Package labdsv version 1.3-1 Index]