CRAN/E | anticlust

anticlust

Subset Partitioning via Anticlustering

Installation

About

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 clear separation between 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 main function anticlustering() gives access to exact and heuristic anticlustering methods described in Papenberg and Klau (2021; doi:10.1037/met0000301), Brusco et al. (2020; doi:10.1111/bmsp.12186), and Papenberg (2024; doi:10.1111/bmsp.12315). The exact algorithms require that an integer linear programming solver is installed, either the GNU linear programming kit () together with the interface package 'Rglpk' (), or the SYMPHONY ILP solver () together with the interface package 'Rsymphony' (). Full access to the bicriterion anticlustering method proposed by Brusco et al. (2020) is given via the function bicriterion_anticlustering(), while kplus_anticlustering() implements the full functionality of the k-plus anticlustering approach proposed by Papenberg (2024). 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.

Citation anticlust citation info
github.com/m-Py/anticlust
m-py.github.io/anticlust/
System requirements The exact (anti)clustering algorithms require that either the GNU linear programming kit (GLPK library) is installed (<http://www.gnu.org/software/glpk/>) or the SYMPHONY open source MILP solver (<https://github.com/coin-or/SYMPHONY>). Rendering the vignette requires pandoc (<https://pandoc.org/>).
Bug report File report

Key Metrics

Version 0.8.3
R ≥ 3.6.0
Published 2024-04-24 1 day ago
Needs compilation? yes
License MIT
License File
CRAN checks anticlust results

Downloads

Yesterday 71 0%
Last 7 days 198 -35%
Last 30 days 1.049 -9%
Last 90 days 3.207 +13%
Last 365 days 11.699 +35%

Maintainer

Maintainer

Martin Papenberg

martin.papenberg@hhu.de

Authors

Martin Papenberg

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)

Max Diekhoff

ctb

(Optimal maximum dispersion algorithm)

Material

Reference manual
Package source

Vignettes

Some best practices for anticlustering
Using categorical variables with anticlustering
Speeding up anticlustering
Using the R package anticlust for stimulus selection in experiments

macOS

r-release

arm64

r-oldrel

arm64

r-release

x86_64

r-oldrel

x86_64

Windows

r-devel

x86_64

r-release

x86_64

r-oldrel

x86_64

Old Sources

anticlust archive

Depends

R ≥ 3.6.0

Imports

Matrix
RANN ≥ 2.6.0

Suggests

knitr
palmerpenguins
Rglpk
rmarkdown
Rsymphony
testthat

Reverse Imports

CEGO