Learn R Programming

mclust (version 6.1)

plot.densityMclust: Plots for Mixture-Based Density Estimate

Description

Plotting methods for an object of class 'mclustDensity'. Available graphs are plot of BIC values and density for univariate and bivariate data. For higher data dimensionality a scatterplot matrix of pairwise densities is drawn.

Usage

# S3 method for densityMclust
plot(x, data = NULL, what = c("BIC", "density", "diagnostic"), ...)

plotDensityMclust1(x, data = NULL, col = gray(0.3), hist.col = "lightgrey", hist.border = "white", breaks = "Sturges", ...)

plotDensityMclust2(x, data = NULL, nlevels = 11, levels = NULL, prob = c(0.25, 0.5, 0.75), points.pch = 1, points.col = 1, points.cex = 0.8, ...)

plotDensityMclustd(x, data = NULL, nlevels = 11, levels = NULL, prob = c(0.25, 0.5, 0.75), points.pch = 1, points.col = 1, points.cex = 0.8, gap = 0.2, ...)

Arguments

x

An object of class 'mclustDensity' obtained from a call to densityMclust function.

data

Optional data points.

what

The type of graph requested:

"density" =

a plot of estimated density; if data is also provided the density is plotted over data points (see Details section).

"BIC" =

a plot of BIC values for the estimated models versus the number of components.

"diagnostic" =

diagnostic plots (only available for the one-dimensional case, see densityMclust.diagnostic)

col

The color to be used to draw the density line in 1-dimension or contours in higher dimensions.

hist.col

The color to be used to fill the bars of the histogram.

hist.border

The color of the border around the bars of the histogram.

breaks

See the argument in function hist.

points.pch, points.col, points.cex

The character symbols, colors, and magnification to be used for plotting data points.

nlevels

An integer, the number of levels to be used in plotting contour densities.

levels

A vector of density levels at which to draw the contour lines.

prob

A vector of probability levels for computing HDR. Only used if type = "hdr" and supersede previous nlevels and levels arguments.

gap

Distance between subplots, in margin lines, for the matrix of pairwise scatterplots.

...

Additional arguments passed to surfacePlot.

Author

Luca Scrucca

Details

The function plot.densityMclust allows to obtain the plot of estimated density or the graph of BIC values for evaluated models.

If what = "density" the produced plot dependes on the dimensionality of the data.

For one-dimensional data a call with no data provided produces a plot of the estimated density over a sensible range of values. If data is provided the density is over-plotted on a histogram for the observed data.

For two-dimensional data further arguments available are those accepted by the surfacePlot function. In particular, the density can be represented through "contour", "hdr", "image", and "persp" type of graph. For type = "hdr" Highest Density Regions (HDRs) are plotted for probability levels prob. See hdrlevels for details.

For higher dimensionality a scatterplot matrix of pairwise projected densities is drawn.

See Also

densityMclust, surfacePlot, densityMclust.diagnostic, Mclust.

Examples

Run this code
# \donttest{
dens <- densityMclust(faithful$waiting, plot = FALSE)
summary(dens)
summary(dens, parameters = TRUE)
plot(dens, what = "BIC", legendArgs = list(x = "topright"))
plot(dens, what = "density", data = faithful$waiting)

dens <- densityMclust(faithful, plot = FALSE)
summary(dens)
summary(dens, parameters = TRUE)
plot(dens, what = "density", data = faithful, 
     drawlabels = FALSE, points.pch = 20)
plot(dens, what = "density", type = "hdr")
plot(dens, what = "density", type = "hdr", prob = seq(0.1, 0.9, by = 0.1))
plot(dens, what = "density", type = "hdr", data = faithful)
plot(dens, what = "density", type = "persp")

dens <- densityMclust(iris[,1:4], plot = FALSE)
summary(dens, parameters = TRUE)
plot(dens, what = "density", data = iris[,1:4], 
     col = "slategrey", drawlabels = FALSE, nlevels = 7)
plot(dens, what = "density", type = "hdr", data = iris[,1:4])
plot(dens, what = "density", type = "persp", col = grey(0.9))
# }

Run the code above in your browser using DataLab