Learn R Programming

mixOmics (version 6.3.0)

plot.perf: Plot for model performance

Description

Function to plot performance criteria, such as MSEP, RMSEP, \(R^2\), \(Q^2\) for s/PLS methods, and classification performance for supervised methods, as a function of the number of components.

Usage

# S3 method for perf.spls.mthd
plot(x,
criterion = "MSEP",
xlab = "number of components",
ylab = NULL,
LimQ2 = 0.0975,
LimQ2.col = "darkgrey",
cTicks = NULL,
layout = NULL,
…)

# S3 method for perf.splsda.mthd plot(x, dist = c("all","max.dist","centroids.dist","mahalanobis.dist"), measure = c("all","overall","BER"), col, xlab = NULL, ylab = NULL, overlay=c("all", "measure", "dist"), legend.position=c("vertical", "horizontal"), sd = TRUE, …)

# S3 method for perf.mint.splsda.mthd plot(x, dist = c("all","max.dist","centroids.dist","mahalanobis.dist"), measure = c("all","overall","BER"), col, xlab = NULL, ylab = NULL, study = "global", overlay= c("all", "measure", "dist"), legend.position=c("vertical", "horizontal"), …)

# S3 method for perf.sgccda.mthd plot(x, dist = c("all","max.dist","centroids.dist","mahalanobis.dist"), measure = c("all","overall","BER"), col, weighted = TRUE, xlab = NULL, ylab = NULL, overlay= c("all", "measure", "dist"), legend.position=c("vertical","horizontal"), sd = TRUE, …)

Arguments

x

an perf object.

criterion

character string. What type of validation criterion to plot for pls or spls. One of "MSEP", "RMSEP", "R2" or "Q2". See perf.

dist

prediction method applied in perf for plsda or splsda. See perf.

measure

Two misclassification measure are available: overall misclassification error overall or the Balanced Error Rate BER

col

character (or symbol) color to be used, possibly vector. One color per distance dist.

weighted

plot either the performance of the Majority vote or the Weighted vote.

study

Indicates which study-specific outputs to plot. A character vector containing some levels of object$study, "all.partial" to plot all studies or "global" is expected. Default to "global".

overlay

parameter to overlay graphs; if 'all', only one graph is shown with all outputs; if 'measure', a graph is shown per distance; if 'dist', a graph is shown per measure.

legend.position

position of the legend, one of "vertical" (only one column) or "horizontal" (two columns).

xlab, ylab

titles for \(x\) and \(y\) axes. Typically character strings, but can be expressions (e.g., expression(R^2)).

LimQ2

numeric value. Signification limit for the components in the model. Default is LimQ2 = 0.0975.

LimQ2.col

character string specifying the color for the LimQ2 line to be plotted. If "none" the line will not be plotted.

cTicks

integer vector. Axis tickmark locations for the used number of components. Default is 1:ncomp (see perf).

layout

numeric vector of length two giving the number of rows and columns in a multi panel display. If not specified, plot.perf tries to be intelligent.

sd

If 'nrepeat' was used in the call to 'perf', error bar shows the standard deviation if sd=TRUE

Further arguments sent to xyplot function.

Details

plot.perf creates one plot for each response variable in the model, laid out in a multi panel display. It uses xyplot for performing the actual plotting.

More details about the prediction distances in ?predict and the referred publication.

References

Rohart F, Gautier B, Singh A, Le Cao K-A. mixOmics: an R package for 'omics feature selection and multiple data integration.

See Also

pls, spls, plsda, splsda, perf.

Examples

Run this code
# NOT RUN {
require(lattice)

## validation for objects of class 'pls' or 'spls'
# }
# NOT RUN {
data(liver.toxicity)
X <- liver.toxicity$gene
Y <- liver.toxicity$clinic

liver.pls <- pls(X, Y, ncomp = 3)
liver.perf <- perf(liver.pls, validation = "Mfold")
				   
plot(liver.perf, criterion = "R2", layout = c(2, 2))
# }
# NOT RUN {
## validation for objects of class 'plsda' or 'splsda'
# }
# NOT RUN {
data(breast.tumors)
X <- breast.tumors$gene.exp
# Y will be transformed as a factor in the function,
# but we set it as a factor to set up the colors.
Y <- as.factor(breast.tumors$sample$treatment)

res <- splsda(X, Y, ncomp = 2, keepX = c(25, 25))
breast.perf <- perf(res, nrepeat = 5)

plot(breast.perf)
plot(breast.perf, col=1:3)
plot(breast.perf, col=1:3, sd=FALSE)

# }

Run the code above in your browser using DataLab