Perform k-centroids clustering on a data matrix.
kcca(x, k, family=kccaFamily("kmeans"), weights=NULL, group=NULL,
     control=NULL, simple=FALSE, save.data=FALSE)
kccaFamily(which=NULL, dist=NULL, cent=NULL, name=which,
           preproc = NULL, trim=0, groupFun = "minSumClusters")# S4 method for kccasimple
summary(object)
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).
Either the number of clusters, or a vector of cluster
    assignments, or a matrix of initial
    (distinct) cluster centroids.  If a number, a random set of (distinct)
    rows in x is chosen as the initial centroids.
Object of class "kccaFamily".
An optional vector of weights to be used in the clustering process, cannot be combined with all families.
An optional grouping vector for the data, see details below.
An object of class "flexclustControl".
Return an object of class "kccasimple"?
Save a copy of x in the return object?
One of "kmeans", "kmedians",
    "angle", "jaccard", or "ejaccard".
Optional long name for family, used only for show methods.
A function for distance computation, ignored
    if which is specified.
A function for centroid computation, ignored
    if which is specified.
Function for data preprocessing.
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.
Function or name of function to obtain clusters for grouped data, see details below.
Object of class "kcca".
Function kcca returns objects of class "kcca" or
  "kccasimple" depending on the value of argument
  simple. The simpler objects contain fewer slots and hence are
  faster to compute, but contain no auxiliary information used by the
  plotting methods. Most plot methods for "kccasimple" objects do
  nothing and return a warning. If only centroids, cluster membership or
  prediction for new data are of interest, then the simple objects are
  sufficient.
Function kccaFamily() currently has the following predefined
  families (distance / centroid):
Euclidean distance / mean
Manhattan distance / median
angle between observation and centroid / standardized mean
Jaccard distance / numeric optimization
Jaccard distance / mean
See Leisch (2006) for details on all combinations.
If group is not NULL, then observations from the same
  group are restricted to belong to the same cluster (must-link
  constraint) or different clusters (cannot-link constraint) during the
  fitting process. If groupFun = "minSumClusters", then all group
  members are 
  assign to the cluster where the center has minimal average distance to
  the group members. If groupFun = "majorityClusters", then all
  group members are assigned to the cluster the majority would belong to
  without a constraint.
groupFun = "differentClusters" implements a cannot-link
  constraint, i.e., members of one group are not allowed to belong to
  the same cluster. The optimal allocation for each group is found by
  solving a linear sum assignment problem using
  solve_LSAP. Obviously the group sizes must be smaller
  than the number of clusters in this case.
Ties are broken at random in all cases.
  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.
See the paper A Toolbox for K-Centroids Cluster Analysis referenced below for details.
Friedrich Leisch. A Toolbox for K-Centroids Cluster Analysis. Computational Statistics and Data Analysis, 51 (2), 526--544, 2006.
Friedrich Leisch and Bettina Gruen. Extending standard cluster algorithms to allow for group constraints. In Alfredo Rizzi and Maurizio Vichi, editors, Compstat 2006-Proceedings in Computational Statistics, pages 885-892. Physica Verlag, Heidelberg, Germany, 2006.
# NOT RUN {
data("Nclus")
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 and kmeans++ initialization, cluster centroids
## should be similar...
cl2 <- kcca(Nclus, k=4, family=kccaFamily("kmedians"),
           control=list(initcent="kmeanspp"))
cl2
## ... but the boundaries of the partitions have a different shape
image(cl2)
points(Nclus)
# }
Run the code above in your browser using DataLab