anticlust: Subset Partitioning via Anticlustering

The method of anticlustering partitions a pool of elements into groups (i.e., anticlusters) with the goal of maximizing between-group similarity or within-group heterogeneity. The anticlustering approach thereby reverses the logic of cluster analysis that strives for high within-group homogeneity and low similarity of the different groups. Computationally, anticlustering is accomplished by maximizing instead of minimizing a clustering objective function, such as the intra-cluster variance (used in k-means clustering) or the sum of pairwise distances within clusters. The function anticlustering() implements exact and heuristic anticlustering algorithms as described in Papenberg and Klau (2021; <doi:10.1037/met0000301>). The exact algorithms require that the GNU linear programming kit (<>) is available and the R package 'Rglpk' (<>) is installed. A bicriterion anticlustering method proposed by Brusco et al. (2020; <doi:10.1111/bmsp.12186>) is available through the function bicriterion_anticlustering(), kplus_anticlustering() implements the k-plus anticlustering approach proposed by Papenberg (2023; <doi:10.31234/>). Some other functions are available to solve classical clustering problems. The function balanced_clustering() applies a cluster analysis under size constraints, i.e., creates equal-sized clusters. The function matching() can be used for (unrestricted, bipartite, or K-partite) matching. The function wce() can be used optimally solve the (weighted) cluster editing problem, also known as correlation clustering, clique partitioning problem or transitivity clustering.

Version: 0.6.4
Depends: R (≥ 3.6.0)
Imports: Matrix, RANN (≥ 2.6.0)
Suggests: knitr, Rglpk, rmarkdown, testthat
Published: 2023-05-02
Author: Martin Papenberg ORCID iD [aut, cre], Meik Michalke [ctb] (centroid based clustering algorithm), Gunnar W. Klau [ths], Juliane V. Nagel [ctb] (package logo), Martin Breuer [ctb] (Bicriterion algorithm by Brusco et al.), Marie L. Schaper [ctb] (Example data set)
Maintainer: Martin Papenberg <martin.papenberg at>
License: MIT + file LICENSE
NeedsCompilation: yes
SystemRequirements: The exact (anti)clustering algorithms require that the GNU linear programming kit (GLPK library) is installed (<>). Rendering the vignette requires pandoc.
Citation: anticlust citation info
CRAN checks: anticlust results


Reference manual: anticlust.pdf
Vignettes: Using the R package anticlust for stimulus selection in experiments


Package source: anticlust_0.6.4.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): anticlust_0.6.4.tgz, r-oldrel (arm64): anticlust_0.6.4.tgz, r-release (x86_64): anticlust_0.6.4.tgz, r-oldrel (x86_64): anticlust_0.6.4.tgz
Old sources: anticlust archive

Reverse dependencies:

Reverse imports: gsdensity


Please use the canonical form to link to this page.