kcca {flexclust}R Documentation

K-Centroids Cluster Analysis

Description

Perform k-centroids clustering on a data matrix.

Usage

kcca(x, k, family=kccaFamily("kmeans"), weights=NULL, group=NULL, control=NULL)
kccaFamily(which=NULL, dist=NULL, cent=NULL, name=which, similarity=FALSE,
           preproc = NULL, trim=0)

Arguments

x A numeric matrix of data, or an object that can be coerced to such a matrix (such as a numeric vector or a data frame with all numeric columns).
k Either the number of clusters or a set of initial (distinct) cluster centroids. If a number, a random set of (distinct) rows in x is chosen as the initial centroids.
family Object of class kccaFamily.
weights An optional vector of weights to be used in the clustering process, cannot be combined with all families.
group An optional grouping vector for the data, see details below.
control An object of class flexclustControl.
which One of "kmeans", "kmedians", "angle", "jaccard", or "ejaccard".
name Optional long name for family, used only for show methods.
dist A function for distance or similarity computation, ignored if which is specified.
cent A function for centroid computation, ignored if which is specified.
similarity Logical, if TRUE then dist is interpreted as a similarity instead of a distance measure, ignored if which is specified.
preproc Function for data preprocessing.
trim A number in between 0 and 0.5, if non-zero then trimmed means are used for the kmeans family, ignored by all other families.

Details

If group is not NULL, then observations from the same group are restricted to belong to the same cluster during the fitting process. The cluster for each group is determined by taking the cluster in which the majority of the group members belong to, ties are broken at random. Note that at the moment not all methods for fitted "kcca" objects respect the grouping information, most importantly the plot method when a data argument is specified.

Author(s)

Friedrich Leisch

See Also

stepFlexclust, cclust

Examples

data("Nclus", package="flexmix")
plot(Nclus)

## try kmeans 
cl1 = kcca(Nclus, k=4)
cl1

image(cl1)
points(Nclus)

## A barplot of the centroids 
barplot(cl1)

## now use k-medians, cluster centroids should be similar ...
cl2 = kcca(Nclus, k=4, family=kccaFamily("kmedians"))
cl2

## ... but the boundaries of the partitions have a different shape
image(cl2)
points(Nclus)

[Package flexclust version 0.7-0 Index]