Learn R Programming

pls (version 2.8-5)

scoreplot: Plots of Scores, Loadings and Correlation Loadings

Description

Functions to make scatter plots of scores or correlation loadings, and scatter or line plots of loadings.

Usage

scoreplot(object, ...)

# S3 method for default scoreplot( object, comps = 1:2, labels, identify = FALSE, type = "p", xlab, ylab, ... )

# S3 method for scores plot(x, ...)

loadingplot(object, ...)

# S3 method for default loadingplot( object, comps = 1:2, scatter = FALSE, labels, identify = FALSE, type, lty, lwd = NULL, pch, cex = NULL, col, legendpos, xlab, ylab, pretty.xlabels = TRUE, xlim, ... )

# S3 method for loadings plot(x, ...)

corrplot( object, comps = 1:2, labels, plotx = TRUE, ploty = FALSE, radii = c(sqrt(1/2), 1), identify = FALSE, type = "p", xlab, ylab, col, ... )

Value

The functions return whatever the underlying plot function (or identify) returns.

Arguments

object

an object. The fitted model.

...

further arguments sent to the underlying plot function(s).

comps

integer vector. The components to plot.

labels

optional. Alternative plot labels or \(x\) axis labels. See Details.

identify

logical. Whether to use identify to interactively identify points. See below.

type

character. What type of plot to make. Defaults to "p" (points) for scatter plots and "l" (lines) for line plots. See plot for a complete list of types (not all types are possible/meaningful for all plots).

xlab, ylab

titles for \(x\) and \(y\) axes. Typically character strings, but can be expressions or lists. See title for details.

x

a scores or loadings object. The scores or loadings to plot.

scatter

logical. Whether the loadings should be plotted as a scatter instead of as lines.

lty

vector of line types (recycled as neccessary). Line types can be specified as integers or character strings (see par for the details).

lwd

vector of positive numbers (recycled as neccessary), giving the width of the lines.

pch

plot character. A character string or a vector of single characters or integers (recycled as neccessary). See points for all alternatives.

cex

numeric vector of character expansion sizes (recycled as neccessary) for the plotted symbols.

col

character or integer vector of colors for plotted lines and symbols (recycled as neccessary). See par for the details.

legendpos

Legend position. Optional. Ignored if scatter is TRUE. If present, a legend is drawn at the given position. The position can be specified symbolically (e.g., legendpos = "topright"). This requires >= 2.1.0. Alternatively, the position can be specified explicitly (legendpos = t(c(x,y))) or interactively (legendpos = locator()).

pretty.xlabels

logical. If TRUE, loadingplot tries to plot the \(x\) labels more nicely. See Details.

xlim

optional vector of length two, with the \(x\) limits of the plot.

plotx

locical. Whether to plot the \(X\) correlation loadings. Defaults to TRUE.

ploty

locical. Whether to plot the \(Y\) correlation loadings. Defaults to FALSE.

radii

numeric vector, giving the radii of the circles drawn in corrplot. The default radii represent 50% and 100% explained variance of the \(X\) variables by the chosen components.

Author

Ron Wehrens and Bjørn-Helge Mevik

Details

plot.scores is simply a wrapper calling scoreplot, passing all arguments. Similarly for plot.loadings.

scoreplot is generic, currently with a default method that works for matrices and any object for which scores returns a matrix. The default scoreplot method makes one or more scatter plots of the scores, depending on how many components are selected. If one or two components are selected, and identify is TRUE, the function identify is used to interactively identify points.

Also loadingplot is generic, with a default method that works for matrices and any object where loadings returns a matrix. If scatter is TRUE, the default method works exactly like the default scoreplot method. Otherwise, it makes a lineplot of the selected loading vectors, and if identify is TRUE, uses identify to interactively identify points. Also, if legendpos is given, a legend is drawn at the position indicated.

corrplot works exactly like the default scoreplot method, except that at least two components must be selected. The “correlation loadings”, i.e. the correlations between each variable and the selected components (see References), are plotted as pairwise scatter plots, with concentric circles of radii given by radii. Each point corresponds to a variable. The squared distance between the point and origin equals the fraction of the variance of the variable explained by the components in the panel. The default radii corresponds to 50% and 100% explained variance. By default, only the correlation loadings of the \(X\) variables are plotted, but if ploty is TRUE, also the \(Y\) correlation loadings are plotted.

scoreplot, loadingplot and corrplot can also be called through the plot method for mvr objects, by specifying plottype as "scores", "loadings" or "correlation", respectively. See plot.mvr.

The argument labels can be a vector of labels or one of "names" and "numbers".

If a scatter plot is produced (i.e., scoreplot, corrplot, or loadingplot with scatter = TRUE), the labels are used instead of plot symbols for the points plotted. If labels is "names" or "numbers", the row names or row numbers of the matrix (scores, loadings or correlation loadings) are used.

If a line plot is produced (i.e., loadingplot), the labels are used as \(x\) axis labels. If labels is "names" or "numbers", the variable names are used as labels, the difference being that with "numbers", the variable names are converted to numbers, if possible. Variable names of the forms "number" or "number text" (where the space is optional), are handled.

The argument pretty.xlabels is only used when labels is specified for a line plot. If TRUE (default), the code tries to use a ‘pretty’ selection of labels. If labels is "numbers", it also uses the numerical values of the labels for horisontal spacing. If one has excluded parts of the spectral region, one might therefore want to use pretty.xlabels = FALSE.

References

Martens, H., Martens, M. (2000) Modified Jack-knife Estimation of Parameter Uncertainty in Bilinear Modelling by Partial Least Squares Regression (PLSR). Food Quality and Preference, 11(1--2), 5--16.

See Also

mvr, plot.mvr, scores, loadings, identify, legend

Examples

Run this code

data(yarn)
mod <- plsr(density ~ NIR, ncomp = 10, data = yarn)
## These three are equivalent:
if (FALSE) {
scoreplot(mod, comps = 1:5)
plot(scores(mod), comps = 1:5)
plot(mod, plottype = "scores", comps = 1:5)

loadingplot(mod, comps = 1:5)
loadingplot(mod, comps = 1:5, legendpos = "topright") # With legend
loadingplot(mod, comps = 1:5, scatter = TRUE) # Plot as scatterplots

corrplot(mod, comps = 1:2)
corrplot(mod, comps = 1:3)
}

Run the code above in your browser using DataLab