Plot robust model-based clustering results: scatter plot with clustering information and cluster fit.
1 2 3
The type of graph. It can be one of the following:
The data vector, matrix or data.frame (or some
transformation of them), used for obtaining the
A vector of integers denoting the variables (numbers of columns of
An integer denoting the cluster for which the fit
plot is returned. This is only relevant if
further arguments passed to or from other methods.
-P plot (probability
-probability plot) of the weighted empirical
distribution function of the Mahalanobis distances of observations
from clusters' centers against the target distribution. The target
distribution is the Chi-square distribution with degrees of
freedom equal to
ncol(data). The weights are given by the improper posterior
-P plots are produced for
all clusters, otherwise
cluster selects a single P
plot at times.
A pairwise scatterplot with cluster memberships. Points
assigned to the noise/outliers component are denoted by
Coretto, P. and C. Hennig (2016). Robust improper maximum likelihood: tuning, computation, and a comparison with other methods for robust Gaussian clustering. Journal of the American Statistical Association, Vol. 111(516), pp. 1648-1659. doi: 10.1080/01621459.2015.1100996
Coretto, P. and C. Hennig (2017). Consistency, breakdown robustness, and algorithms for robust improper maximum likelihood clustering. arXiv preprint available at arXiv:1309.6895.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
## Load Swiss banknotes data data(banknote) x <- banknote[,-1] ## Perform rimle clustering with default arguments set.seed(1) a <- rimle(data = x, G = 2) print(a) ## Plot clustering plot(a, data = x, what = "clustering") ## Plot clustering on selected margins plot(a, data = x, what = "clustering", margins = 4:6) ## Plot clustering on the first two principal components z <- scale(x) %*% eigen(cor(x), symmetric = TRUE)$vectors colnames(z) <- paste("PC", 1:ncol(z), sep = "") plot(a, data = z, what = "clustering", margins = 1:2) ## Fit plot for all clusters plot(a, what = "fit") ## Fit plot for cluster 1 plot(a, what = "fit", cluster = 1)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.