schc function

Spatially Constrained Hierarchical Clucstering (SCHC)

Spatially Constrained Hierarchical Clucstering (SCHC)

Spatially constrained hierarchical clustering is a special form of constrained clustering, where the constraint is based on contiguity (common borders). The method builds up the clusters using agglomerative hierarchical clustering methods: single linkage, complete linkage, average linkage and Ward's method (a special form of centroid linkage). Meanwhile, it also maintains the spatial contiguity when merging two clusters.

schc( k, w, df, method = "average", bound_variable = data.frame(), min_bound = 0, scale_method = "standardize", distance_method = "euclidean", rdist = numeric() )

Arguments

  • k: The number of clusters
  • w: An instance of Weight class
  • df: A data frame with selected variables only. E.g. guerry[c("Crm_prs", "Crm_prp", "Litercy")]
  • method: "single", "complete", "average","ward"
  • bound_variable: (optional) A data frame with selected bound variabl
  • min_bound: (optional) A minimum bound value that applies to all clusters
  • scale_method: One of the scaling methods ('raw', 'standardize', 'demean', 'mad', 'range_standardize', 'range_adjust') to apply on input data. Default is 'standardize' (Z-score normalization).
  • distance_method: (optional) The distance method used to compute the distance betwen observation i and j. Defaults to "euclidean". Options are "euclidean" and "manhattan"
  • rdist: (optional) The distance matrix (lower triangular matrix, column wise storage)

Returns

A names list with names "Clusters", "Total sum of squares", "Within-cluster sum of squares", "Total within-cluster sum of squares", and "The ratio of between to total sum of squares".

Examples

library(sf) guerry_path <- system.file("extdata", "Guerry.shp", package = "rgeoda") guerry <- st_read(guerry_path) queen_w <- queen_weights(guerry) data <- guerry[c('Crm_prs','Crm_prp','Litercy','Donatns','Infants','Suicids')] guerry_clusters <- schc(4, queen_w, data, "complete") guerry_clusters