Learn R Programming

mixOmics (version 6.3.2)

background.predict: Calculate prediction areas

Description

Calculate prediction areas that can be used in plotIndiv to shade the background.

Usage

background.predict (object, comp.predicted = 1, dist = "max.dist",
xlim = NULL, ylim = NULL, resolution = 100)

Arguments

object

A list of data sets (called 'blocks') measured on the same samples. Data in the list should be arranged in matrices, samples x variables, with samples order matching in all data sets.

comp.predicted

Matrix response for a multivariate regression framework. Data should be continuous variables (see block.splsda for supervised classification and factor reponse)

dist

distance to use to predict the class of new data, should be a subset of "centroids.dist", "mahalanobis.dist" or "max.dist" (see predict).

xlim,ylim

numeric list of vectors of length 2, giving the x and y coordinates ranges for the simulated data. By default will be \(1.2*\) the range of object$variates$X[,i]

resolution

A total of resolution*resolution data are simulated between xlim[1], xlim[2], ylim[1] and ylim[2].

Value

background.predict returns a list of coordinates to be used with polygon to draw the predicted area for each class.

Details

background.predict simulates resolution*resolution points within the rectangle defined by xlim on the x-axis and ylim on the y-axis, and then predicts the class of each point (defined by two coordinates). The algorithm estimates the predicted area for each class, defined as the 2D surface where all points are predicted to be of the same class. A polygon is returned and should be passed to plotIndiv for plotting the actual background.

Note that by default xlim and ylim will create a rectangle of simulated data that will cover the plotted area of plotIndiv. However, if you use plotIndiv with ellipse=TRUE or if you set xlim and ylim, then you will need to adapt xlim and ylim in background.predict.

Also note that the white frontier that defines the predicted areas when plotting with plotIndiv can be reduced by increasing resolution.

More details about the prediction distances in ?predict and the supplemental material of the mixOmics article (Rohart et al. 2017).

References

Rohart F, Gautier B, Singh A, L<U+00EA> Cao K-A. mixOmics: an R package for 'omics feature selection and multiple data integration. PLoS Comput Biol 13(11): e1005752

See Also

plotIndiv, predict, polygon.

Examples

Run this code
# NOT RUN {
# Example 1
# -----------------------------------
# }
# NOT RUN {
data(breast.tumors)
X <- breast.tumors$gene.exp
Y <- breast.tumors$sample$treatment

splsda.breast <- splsda(X, Y,keepX=c(10,10),ncomp=2)

# calculating background for the two first components, and the centroids distance

background = background.predict(splsda.breast, comp.predicted = 2, dist = "centroids.dist")

# default option: note the outcome color is included by default!
plotIndiv(splsda.breast, background = background)
# }
# NOT RUN {

# Example 2
# -----------------------------------
# }
# NOT RUN {
data(liver.toxicity)
X = liver.toxicity$gene
Y = as.factor(liver.toxicity$treatment[, 4])

plsda.liver <- plsda(X, Y, ncomp = 2)

# calculating background for the two first components, and the mahalanobis distance
background = background.predict(plsda.liver, comp.predicted = 2, dist = "mahalanobis.dist")

plotIndiv(plsda.liver, background = background, legend = TRUE)
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab