optimal.k: optimalK

View source: R/optimal.k.R

optimal.kR Documentation

optimalK

Description

Find optimal k of k-Medoid partitions using silhouette widths

Usage

optimal.k(x, nk = 10, plot = TRUE, cluster = TRUE, clara = FALSE, ...)

Arguments

x

Numeric dataframe, matrix or vector

nk

Number of clusters to test (2:nk)

plot

(TRUE / FALSE) Plot cluster silhouettes(TRUE/FALSE)

cluster

(TRUE / FALSE) Create cluster object with optimal k

clara

(FALSE / TRUE) Use clara model for large data

...

Additional arguments passed to clara

Value

Object of class clust "pam" or "clara" with tested silhouette values

Author(s)

Jeffrey S. Evans <jeffrey_evans<at>tnc.org>

References

Theodoridis, S. & K. Koutroumbas(2006) Pattern Recognition 3rd ed.

See Also

pam for details on Partitioning Around Medoids (PAM)

clara for details on Clustering Large Applications (clara)

Examples

if (require(cluster, quietly = TRUE)) {
  x <- rbind(cbind(rnorm(10,0,0.5), rnorm(10,0,0.5)),
             cbind(rnorm(15,5,0.5), rnorm(15,5,0.5)))

  clust <- optimal.k(x, 20, plot=TRUE, cluster=TRUE)
    plot(silhouette(clust$model), col = c('red', 'green'))
      plot(clust$model, which.plots=1, main='K-Medoid fit')

# Extract multivariate and univariate mediods (class centers)
  clust$model$medoids
    pam(x[,1], 1)$medoids  

# join clusters to data
  x <- data.frame(x, k=clust$model$clustering) 

} else { 
  cat("Please install cluster package to run example", "\n")
}


spatialEco documentation built on Nov. 18, 2023, 1:13 a.m.