Plots a density or uncertainty surface given bivariate data and parameters of a MVN mixture model for the data.
surfacePlot(data, parameters,
type = c("contour", "hdr", "image", "persp"),
what = c("density", "uncertainty"),
transformation = c("none", "log", "sqrt"),
grid = 100, nlevels = 11, levels = NULL,
prob = c(0.25, 0.5, 0.75),
color.palette = blue2grey.colors, col = grey(0.6),
xlim = NULL, ylim = NULL, xlab = NULL, ylab = NULL,
scale = FALSE, main = FALSE, swapAxes = FALSE,
verbose = FALSE, …)
A matrix, or data frame of bivariate observations. Categorical variables are not allowed. If a matrix or data frame, rows correspond to observations and columns correspond to variables.
A named list giving the parameters of an MCLUST model, used to produce superimposing ellipses on the plot. The relevant components are as follows:
mean
The mean for each component. If there is more than one component, this is a matrix whose kth column is the mean of the kth component of the mixture model.
variance
A list of variance parameters for the model.
The components of this list depend on the model
specification. See the help file for mclustVariance
for details.
Choose from one of the following three options: "contour"
(default), "hdr"
, "image"
, and "persp"
indicating
the plot type.
Choose from one of the following options: "density"
(default), "uncertainty"
indicating what to plot.
Choose from one of the following three options: "none"
(default), "log"
, "sqrt"
indicating a transformation
to be applied before plotting.
The number of grid points (evenly spaced on each axis).
The mixture density and uncertainty is computed at
grid x grid
points to produce the surface plot.
Default: 100
.
The number of levels to use for a contour plot.
Default: 11
.
A vector of levels at which to draw the lines in a contour plot.
A vector of probability levels for computing HDR.
Only used if type = "hdr"
and supersede previous
nlevels
and levels
arguments.
A function which defines a palette of colours to be used for
type = "hdr"
plot.
The color to be used for drawing contour lines.
Optional argument specifying bounds for the ordinate, abscissa of the plot. This may be useful for when comparing plots.
Optional argument specifying labels for the x-axis and y-axis.
A logical variable indicating whether or not the two dimensions should be plotted on the same scale, and thus preserve the shape of the distribution. The default is not to scale.
A logical variable or NULL
indicating whether or not to add a title
to the plot identifying the dimensions used.
A logical variable indicating whether or not the axes should be swapped for the plot.
A logical variable telling whether or not to print an indication that the function is in the process of computing values at the grid points, which typically takes some time to complete.
Other graphics parameters.
A plots showing (a transformation of) the density or uncertainty for the given mixture model and data.
The function also returns an invisible list with components x
,
y
, and z
in which x
and y
are the values used to
define the grid and z
is the transformed density or uncertainty at the
grid points.
For an image plot, a color scheme may need to be selected on the display device in order to view the plot.
C. Fraley and A. E. Raftery (2002). Model-based clustering, discriminant analysis, and density estimation. Journal of the American Statistical Association 97:611-631.
C. Fraley, A. E. Raftery, T. B. Murphy and L. Scrucca (2012). mclust Version 4 for R: Normal Mixture Modeling for Model-Based Clustering, Classification, and Density Estimation. Technical Report No. 597, Department of Statistics, University of Washington.
# NOT RUN {
faithfulModel <- Mclust(faithful)
surfacePlot(faithful, parameters = faithfulModel$parameters,
type = "contour", what = "density", transformation = "none",
drawlabels = FALSE)
surfacePlot(faithful, parameters = faithfulModel$parameters,
type = "persp", what = "density", transformation = "log")
surfacePlot(faithful, parameters = faithfulModel$parameters,
type = "contour", what = "uncertainty", transformation = "log")
# }
Run the code above in your browser using DataLab