plot.cluspca {clustrd}R Documentation

Plotting function for cluspca() output.

Description

Plotting function that creates a scatterplot of the objects, a correlation circle of the variables or a biplot of both objects and variables. Optionally, it returns a parallel coordinate plot showing cluster means.

Usage

## S3 method for class 'cluspca'
plot(x, dims = c(1, 2), cludesc = FALSE, 
what = c(TRUE,TRUE), attlabs, max.overlaps=10, ...)

Arguments

x

Object returned by cluspca()

dims

Numerical vector of length 2 indicating the dimensions to plot on horizontal and vertical axes respectively; default is first dimension horizontal and second dimension vertical

what

Vector of two logical values specifying the contents of the plots. First entry indicates whether a scatterplot of the objects and cluster centroids is displayed and the second entry whether a correlation circle of the variables is displayed. The default is c(TRUE, TRUE) and the resultant plot is a biplot of both objects and variables

cludesc

A logical value indicating if a parallel coordinate plot showing cluster means is produced (default = FALSE)

attlabs

Vector of custom attribute labels; if not provided, default labeling is applied

max.overlaps

Maximum number of text labels allowed to overlap. Defaults to 10

...

Further arguments to be transferred to cluspca()

Value

The function returns a ggplot2 scatterplot of the solution obtained via cluspca() that can be further customized using the ggplot2 package. When cludesc = TRUE the function also returns a ggplot2 parallel coordinate plot.

References

De Soete, G., and Carroll, J. D. (1994). K-means clustering in a low-dimensional Euclidean space. In Diday E. et al. (Eds.), New Approaches in Classification and Data Analysis, Heidelberg: Springer, 212-219.

Vichi, M., and Kiers, H.A.L. (2001). Factorial K-means analysis for two-way data. Computational Statistics and Data Analysis, 37, 49-64.

See Also

plot.clusmca, plot.cluspcamix

Examples

data("macro")
#Factorial K-means (3 clusters in 2 dimensions) after 100 random starts
outFKM = cluspca(macro, 3, 2, method = "FKM", rotation = "varimax")
#Scatterplot (dimensions 1 and 2) and cluster description plot
plot(outFKM, cludesc = TRUE)

data("iris", package = "datasets")
#Compromise solution between PCA and Reduced K-means
#on the iris dataset (3 clusters in 2 dimensions) after 100 random starts
outclusPCA = cluspca(iris[,-5], 3, 2, alpha = 0.3, rotation = "varimax")
table(outclusPCA$cluster,iris[,5])
#Save the ggplot2 scatterplot
map = plot(outclusPCA)$map
#Customization (adding titles)
map + ggtitle(paste("A compromise solution between RKM and FKM on the iris: 
3 clusters of sizes ", paste(outclusPCA$size, 
collapse = ", "),sep = "")) + xlab("Dimension 1") + ylab("Dimension 2") + 
theme(plot.title = element_text(size = 10, face = "bold", hjust = 0.5))

[Package clustrd version 1.4.0 Index]