This function conducts an mclust analysis of the PCA results of a
Spectra
object and displays the results in 3D. Classical or
robust confidence ellipses can be added if desired. Improperly classified
data points can be marked. The interactive plot is made via plotly
and appears in a browser window. Note that the confidence ellipses computed
here are generated independently of the Mclust
results - they do not
correspond to the ellipses seen in 2D plots from Mclust
.
mclust3dSpectra(
spectra,
pca,
pcs = 1:3,
ellipse = TRUE,
rob = FALSE,
cl = 0.95,
frac.pts.used = 0.8,
truth = NULL,
...
)
An object of S3 class Spectra()
.
An object of class prcomp
.
An integer vector describing which PCs to use.
Logical indicating if confidence ellipses should be drawn.
Logical; if ellipse = TRUE
, indicates that robust
confidence ellipses should be drawn. If FALSE
, classical confidence
ellipses are drawn.
A number indicating the confidence interval for the ellipse.
If ellipse = TRUE
and rob = TRUE
, a
number indicating the fraction of the data points to be considered "good"
and thus used to compute the robust confidence ellipse.
A character vector indicating the known group membership for
reach row of the PC scores. Generally this would be spectra$groups
.
Arguments to be passed to mclust
.
The mclust model is returned invisibly, and a plot is produced.
Mclust
for background on the method.
Additional documentation at https://bryanhanson.github.io/ChemoSpec/
if (FALSE) {
require(mclust)
data(metMUD1)
pca <- c_pcaSpectra(metMUD1)
mclust3dSpectra(metMUD1, pca)
# show mis-classified points
mclust3dSpectra(metMUD1, pca, truth = metMUD1$groups)
}