kmeans                 package:stats                 R Documentation

K-Means Clustering

Description:

     Perform k-means clustering on a data matrix.

Usage:

     kmeans(x, centers, iter.max = 10)

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). 

 centers: Either the number of clusters or a set of initial cluster
          centers. If the first, a random set of rows in 'x' are chosen
          as the initial centers. 

iter.max: The maximum number of iterations allowed. 

Details:

     The data given by 'x' is clustered by the k-means algorithm. When
     this terminates, all cluster centres are at the mean of their
     Voronoi sets (the set of data points which are nearest to the
     cluster centre).

     The algorithm of Hartigan and Wong (1979) is used.

Value:

     A list with components:

 cluster: A vector of integers indicating the cluster to which each
          point is allocated. 

 centers: A matrix of cluster centres.

withinss: The within-cluster sum of squares for each cluster.

    size: The number of points in each cluster.

References:

     Hartigan, J.A. and Wong, M.A. (1979). A K-means clustering
     algorithm. _Applied Statistics_ *28*, 100-108.

Examples:

     # a 2-dimensional example
     x <- rbind(matrix(rnorm(100, sd = 0.3), ncol = 2),
                matrix(rnorm(100, mean = 1, sd = 0.3), ncol = 2))
     cl <- kmeans(x, 2, 20)
     plot(x, col = cl$cluster)
     points(cl$centers, col = 1:2, pch = 8)

