Skip to content

Commit ef47bab

Browse files
committed
Merge branch 'master' of https://github.com/mlampros/ClusterR
updated files
2 parents ee42b60 + e940427 commit ef47bab

File tree

3 files changed

+29
-25
lines changed

3 files changed

+29
-25
lines changed

DESCRIPTION

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
Package: ClusterR
22
Type: Package
33
Title: Gaussian Mixture Models, K-Means, Mini-Batch-Kmeans, K-Medoids and Affinity Propagation Clustering
4-
Version: 1.3.6
5-
Date: 2025-12-22
6-
Authors@R: c( person(given = "Lampros", family = "Mouselimis", email = "[email protected]", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-8024-1546")), person(given = "Conrad", family = "Sanderson", role = "cph", comment = "Author of the C++ Armadillo library"), person(given = "Ryan", family = "Curtin", role = "cph", comment = "Author of the C++ Armadillo library"), person(given = "Siddharth", family = "Agrawal", role = "cph", comment = "Author of the C code of the Mini-Batch-Kmeans algorithm (https://github.com/siddharth-agrawal/Mini-Batch-K-Means)"), person(given = "Brendan", family = "Frey", email = "[email protected]", role = "cph", comment = "Author of the matlab code of the Affinity propagation algorithm (for commercial use please contact the author of the matlab code)"), person(given = "Delbert", family = "Dueck", role = "cph", comment = "Author of the matlab code of the Affinity propagation algorithm"), person(given = "Vitalie", family = "Spinu", email = "[email protected]", role = "ctb", comment = "Github Contributor"), person(given = "Frederiek - Maarten", family = "Kerckhof", email = "[email protected]", role = "ctb", comment = "Github Contributor") )
4+
Version: 1.3.5
5+
Date: 2025-09-14
6+
Authors@R: c( person(given = "Lampros", family = "Mouselimis", email = "[email protected]", role = c("aut", "cre"), comment = c(ORCID = "0000-0002-8024-1546")), person(given = "Conrad", family = "Sanderson", role = "cph", comment = "Author of the C++ Armadillo library"), person(given = "Ryan", family = "Curtin", role = "cph", comment = "Author of the C++ Armadillo library"), person(given = "Siddharth", family = "Agrawal", role = "cph", comment = "Author of the C code of the Mini-Batch-Kmeans algorithm (https://github.com/siddharth-agrawal/Mini-Batch-K-Means)"), person(given = "Brendan", family = "Frey", email = "[email protected]", role = "cph", comment = "Author of the matlab code of the Affinity propagation algorithm (for commercial use please contact the author of the matlab code)"), person(given = "Delbert", family = "Dueck", role = "cph", comment = "Author of the matlab code of the Affinity propagation algorithm"), person(given = "Vitalie", family = "Spinu", email = "[email protected]", role = "ctb", comment = "Github Contributor"),person(given = "Frederiek - Maarten", family = "Kerckhof", email = "[email protected]", role = "ctb", comment = "Github Contributor") )
77
BugReports: https://github.com/mlampros/ClusterR/issues
88
URL: https://github.com/mlampros/ClusterR, https://mlampros.github.io/ClusterR/
99
Description: Gaussian mixture models, k-means, mini-batch-kmeans, k-medoids and affinity propagation clustering with the option to plot, validate, predict (new data) and estimate the optimal number of clusters. The package takes advantage of 'RcppArmadillo' to speed up the computationally intensive parts of the functions. For more information, see (i) "Clustering in an Object-Oriented Environment" by Anja Struyf, Mia Hubert, Peter Rousseeuw (1997), Journal of Statistical Software, <doi:10.18637/jss.v001.i04>; (ii) "Web-scale k-means clustering" by D. Sculley (2010), ACM Digital Library, <doi:10.1145/1772690.1772862>; (iii) "Armadillo: a template-based C++ library for linear algebra" by Sanderson et al (2016), The Journal of Open Source Software, <doi:10.21105/joss.00026>; (iv) "Clustering by Passing Messages Between Data Points" by Brendan J. Frey and Delbert Dueck, Science 16 Feb 2007: Vol. 315, Issue 5814, pp. 972-976, <doi:10.1126/science.1136800>.

src/.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
*.o
2+
*.so
3+
*.dll

src/init.c

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,61 +8,62 @@
88
*/
99

1010
/* .Call calls */
11+
extern SEXP _ClusterR_affinity_propagation(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
12+
extern SEXP _ClusterR_check_NaN_Inf(SEXP);
1113
extern SEXP _ClusterR_ClaraMedoids(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
1214
extern SEXP _ClusterR_ClusterMedoids(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
15+
extern SEXP _ClusterR_cost_clusters_from_dis_meds(SEXP, SEXP);
16+
extern SEXP _ClusterR_dissim_mat(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
17+
extern SEXP _ClusterR_dissim_MEDOIDS(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
18+
extern SEXP _ClusterR_evaluation_rcpp(SEXP, SEXP, SEXP);
1319
extern SEXP _ClusterR_GMM_arma(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
1420
extern SEXP _ClusterR_GMM_arma_AIC_BIC(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
1521
extern SEXP _ClusterR_KMEANS_arma(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
1622
extern SEXP _ClusterR_KMEANS_rcpp(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
17-
extern SEXP _ClusterR_OptClust(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
18-
extern SEXP _ClusterR_Predict_mini_batch_kmeans(SEXP, SEXP, SEXP, SEXP);
19-
extern SEXP _ClusterR_SCALE(SEXP, SEXP, SEXP);
20-
extern SEXP _ClusterR_affinity_propagation(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
21-
extern SEXP _ClusterR_check_NaN_Inf(SEXP);
22-
extern SEXP _ClusterR_cost_clusters_from_dis_meds(SEXP, SEXP);
23-
extern SEXP _ClusterR_dissim_MEDOIDS(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
24-
extern SEXP _ClusterR_dissim_mat(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
25-
extern SEXP _ClusterR_evaluation_rcpp(SEXP, SEXP, SEXP);
2623
extern SEXP _ClusterR_mini_batch_kmeans(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
2724
extern SEXP _ClusterR_opt_clust_fK(SEXP, SEXP, SEXP);
25+
extern SEXP _ClusterR_OptClust(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
26+
extern SEXP _ClusterR_predict_medoids(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
2827
extern SEXP _ClusterR_predict_MGausDPDF(SEXP, SEXP, SEXP, SEXP, SEXP);
2928
extern SEXP _ClusterR_predict_MGausDPDF_full(SEXP, SEXP, SEXP, SEXP, SEXP);
30-
extern SEXP _ClusterR_predict_medoids(SEXP, SEXP, SEXP, SEXP, SEXP, SEXP, SEXP);
29+
extern SEXP _ClusterR_Predict_mini_batch_kmeans(SEXP, SEXP, SEXP, SEXP);
3130
extern SEXP _ClusterR_preferenceRange(SEXP, SEXP, SEXP);
31+
extern SEXP _ClusterR_SCALE(SEXP, SEXP, SEXP);
3232
extern SEXP _ClusterR_silhouette_clusters(SEXP, SEXP);
3333
extern SEXP _ClusterR_split_rcpp_lst(SEXP);
3434
extern SEXP _ClusterR_validate_centroids(SEXP, SEXP, SEXP, SEXP, SEXP);
3535

36+
37+
3638
static const R_CallMethodDef CallEntries[] = {
39+
{"_ClusterR_affinity_propagation", (DL_FUNC) &_ClusterR_affinity_propagation, 9},
40+
{"_ClusterR_check_NaN_Inf", (DL_FUNC) &_ClusterR_check_NaN_Inf, 1},
3741
{"_ClusterR_ClaraMedoids", (DL_FUNC) &_ClusterR_ClaraMedoids, 11},
3842
{"_ClusterR_ClusterMedoids", (DL_FUNC) &_ClusterR_ClusterMedoids, 9},
43+
{"_ClusterR_cost_clusters_from_dis_meds", (DL_FUNC) &_ClusterR_cost_clusters_from_dis_meds, 2},
44+
{"_ClusterR_dissim_mat", (DL_FUNC) &_ClusterR_dissim_mat, 7},
45+
{"_ClusterR_dissim_MEDOIDS", (DL_FUNC) &_ClusterR_dissim_MEDOIDS, 6},
46+
{"_ClusterR_evaluation_rcpp", (DL_FUNC) &_ClusterR_evaluation_rcpp, 3},
3947
{"_ClusterR_GMM_arma", (DL_FUNC) &_ClusterR_GMM_arma, 10},
4048
{"_ClusterR_GMM_arma_AIC_BIC", (DL_FUNC) &_ClusterR_GMM_arma_AIC_BIC, 11},
4149
{"_ClusterR_KMEANS_arma", (DL_FUNC) &_ClusterR_KMEANS_arma, 7},
4250
{"_ClusterR_KMEANS_rcpp", (DL_FUNC) &_ClusterR_KMEANS_rcpp, 12},
43-
{"_ClusterR_OptClust", (DL_FUNC) &_ClusterR_OptClust, 12},
44-
{"_ClusterR_Predict_mini_batch_kmeans", (DL_FUNC) &_ClusterR_Predict_mini_batch_kmeans, 4},
45-
{"_ClusterR_SCALE", (DL_FUNC) &_ClusterR_SCALE, 3},
46-
{"_ClusterR_affinity_propagation", (DL_FUNC) &_ClusterR_affinity_propagation, 9},
47-
{"_ClusterR_check_NaN_Inf", (DL_FUNC) &_ClusterR_check_NaN_Inf, 1},
48-
{"_ClusterR_cost_clusters_from_dis_meds", (DL_FUNC) &_ClusterR_cost_clusters_from_dis_meds, 2},
49-
{"_ClusterR_dissim_MEDOIDS", (DL_FUNC) &_ClusterR_dissim_MEDOIDS, 6},
50-
{"_ClusterR_dissim_mat", (DL_FUNC) &_ClusterR_dissim_mat, 7},
51-
{"_ClusterR_evaluation_rcpp", (DL_FUNC) &_ClusterR_evaluation_rcpp, 3},
5251
{"_ClusterR_mini_batch_kmeans", (DL_FUNC) &_ClusterR_mini_batch_kmeans, 13},
5352
{"_ClusterR_opt_clust_fK", (DL_FUNC) &_ClusterR_opt_clust_fK, 3},
53+
{"_ClusterR_OptClust", (DL_FUNC) &_ClusterR_OptClust, 12},
54+
{"_ClusterR_predict_medoids", (DL_FUNC) &_ClusterR_predict_medoids, 7},
5455
{"_ClusterR_predict_MGausDPDF", (DL_FUNC) &_ClusterR_predict_MGausDPDF, 5},
5556
{"_ClusterR_predict_MGausDPDF_full", (DL_FUNC) &_ClusterR_predict_MGausDPDF_full, 5},
56-
{"_ClusterR_predict_medoids", (DL_FUNC) &_ClusterR_predict_medoids, 7},
57+
{"_ClusterR_Predict_mini_batch_kmeans", (DL_FUNC) &_ClusterR_Predict_mini_batch_kmeans, 4},
5758
{"_ClusterR_preferenceRange", (DL_FUNC) &_ClusterR_preferenceRange, 3},
59+
{"_ClusterR_SCALE", (DL_FUNC) &_ClusterR_SCALE, 3},
5860
{"_ClusterR_silhouette_clusters", (DL_FUNC) &_ClusterR_silhouette_clusters, 2},
5961
{"_ClusterR_split_rcpp_lst", (DL_FUNC) &_ClusterR_split_rcpp_lst, 1},
6062
{"_ClusterR_validate_centroids", (DL_FUNC) &_ClusterR_validate_centroids, 5},
6163
{NULL, NULL, 0}
6264
};
6365

64-
void R_init_ClusterR(DllInfo *dll)
65-
{
66+
void R_init_ClusterR(DllInfo *dll) {
6667
R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);
6768
R_useDynamicSymbols(dll, FALSE);
6869
}

0 commit comments

Comments
 (0)