Ckmeans.1d.dp: Optimal, Fast, and Reproducible Univariate Clustering

Fast, optimal, and reproducible weighted univariate clustering by dynamic programming. Four problems are solved, including univariate k-means (Wang & Song 2011) <doi:10.32614/RJ-2011-015> (Song & Zhong 2020) <doi:10.1093/bioinformatics/btaa613>, k-median, k-segments, and multi-channel weighted k-means. Dynamic programming is used to minimize the sum of (weighted) within-cluster distances using respective metrics. Its advantage over heuristic clustering in efficiency and accuracy is pronounced when there are many clusters. Multi-channel weighted k-means groups multiple univariate signals into k clusters. An auxiliary function generates histograms adaptive to patterns in data. This package provides a powerful set of tools for univariate data analysis with guaranteed optimality, efficiency, and reproducibility, useful for peak calling on temporal, spatial, and spectral data.

Version: 4.3.5
Imports: Rcpp, Rdpack (≥ 0.6-1)
LinkingTo: Rcpp
Suggests: testthat, knitr, rmarkdown, RColorBrewer
Published: 2023-08-19
DOI: 10.32614/CRAN.package.Ckmeans.1d.dp
Author: Joe Song ORCID iD [aut, cre], Hua Zhong ORCID iD [aut], Haizhou Wang [aut]
Maintainer: Joe Song <joemsong at>
License: LGPL (≥ 3)
NeedsCompilation: yes
Citation: Ckmeans.1d.dp citation info
Materials: README NEWS
CRAN checks: Ckmeans.1d.dp results


Reference manual: Ckmeans.1d.dp.pdf
Vignettes: Tutorial: Optimal univariate clustering
Note: Weight scaling in cluster analysis
Tutorial: Adaptive versus regular histograms


Package source: Ckmeans.1d.dp_4.3.5.tar.gz
Windows binaries: r-devel:, r-release:, r-oldrel:
macOS binaries: r-release (arm64): Ckmeans.1d.dp_4.3.5.tgz, r-oldrel (arm64): Ckmeans.1d.dp_4.3.5.tgz, r-release (x86_64): Ckmeans.1d.dp_4.3.5.tgz, r-oldrel (x86_64): Ckmeans.1d.dp_4.3.5.tgz
Old sources: Ckmeans.1d.dp archive

Reverse dependencies:

Reverse depends: GenomicOZone
Reverse imports: autostats, CellBarcode, clusterHD, GridOnClusters, Harman, kcmeans, OptCirClust, SILFS, SPECK, STREAK, TidyConsultant, weitrix
Reverse suggests: bakR, DiffXTables, FunChisq, xgboost


Please use the canonical form to link to this page.