
Last chance! 50% off unlimited learning
Sale ends in
Visualization of a k-prototypes clustering result for cluster interpretation.
clprofiles(object, x, vars = NULL, col = NULL)
Object resulting from a call of resulting kproto
. Also other kmeans
like objects with object$cluster
and object$size
are possible.
Original data.
Optional vector of either column indices or variable names.
Palette of cluster colours to be used for the plots. As a default RColorBrewer's
brewer.pal(max(unique(object$cluster)), "Set3")
is used for k > 2 clusters and lightblue and orange else.
For numerical variables boxplots and for factor variables barplots of each cluster are generated.
# generate toy data with factors and numerics
n <- 100
prb <- 0.9
muk <- 1.5
clusid <- rep(1:4, each = n)
x1 <- sample(c("A","B"), 2*n, replace = TRUE, prob = c(prb, 1-prb))
x1 <- c(x1, sample(c("A","B"), 2*n, replace = TRUE, prob = c(1-prb, prb)))
x1 <- as.factor(x1)
x2 <- sample(c("A","B"), 2*n, replace = TRUE, prob = c(prb, 1-prb))
x2 <- c(x2, sample(c("A","B"), 2*n, replace = TRUE, prob = c(1-prb, prb)))
x2 <- as.factor(x2)
x3 <- c(rnorm(n, mean = -muk), rnorm(n, mean = muk), rnorm(n, mean = -muk), rnorm(n, mean = muk))
x4 <- c(rnorm(n, mean = -muk), rnorm(n, mean = muk), rnorm(n, mean = -muk), rnorm(n, mean = muk))
x <- data.frame(x1,x2,x3,x4)
# apply k-prototyps
kpres <- kproto(x, 4)
clprofiles(kpres, x)
# in real world clusters are often not as clear cut
# by variation of lambda the emphasize is shifted towards factor / numeric variables
kpres <- kproto(x, 2)
clprofiles(kpres, x)
kpres <- kproto(x, 2, lambda = 0.1)
clprofiles(kpres, x)
kpres <- kproto(x, 2, lambda = 25)
clprofiles(kpres, x)
Run the code above in your browser using DataLab