Skip to contents

hierarchical clustering with spatial soft constraints

Usage

hclustgeo_disc(data, n, alpha = 0.5, D1 = NULL, scale = TRUE, wt = NULL, ...)

Arguments

data

An sf object, tibble, data.frame, matrix or vector of observations data.

n

The number of hierarchical clustering classes, which can be a numeric value or vector.

alpha

(optional) A positive value between 0 and 1. This mixing parameter gives the relative importance of "feature" space and "constraint" space. Default is 0.5.

D1

(optional) A matrix with other dissimilarities between the same observations data. if data is an sf object and alpha is not 0, the D1 will be generated by sdsfun::sf_distance_matrix(), others will use a matrix with all elements equal to 0.

scale

(optional) Whether to scaled the dissimilarities matrix, default is TRUE.

wt

(optional) Vector with the weights of the observations. By default, wt is NULL.

...

(optional) Other arguments passed to stats::dist().

Value

A vector with grouped memberships if n are scalar, otherwise a matrix with grouped memberships is returned where each column corresponds to the elements of n, respectively.

Note

This is a C++ enhanced implementation of the hclustgeo function in ClustGeo package.

Examples

gzma = sf::read_sf(system.file('extdata/gzma.gpkg',package = 'sdsfun'))
gzma$group = hclustgeo_disc(gzma,5,alpha = 0.75)
plot(gzma["group"])