我有一堆数据(x,y),我想对它们进行聚类(比如 60 个点)。然而,由于数据的性质,一些聚类可能非常小(1-2 个点),而其他聚类可能包含很多点(5-6 个)。由于固有的随机起点,运行 k-means 算法会产生非唯一的质心值。我确实知道每个集群的中心在 y 方向上应该至少相距“y”。(x 相对不重要)所以在运行我的 kmeans 之后,如果任何 2 个集群的中心在 'y' 内,我想重新运行 kmeans 算法,直到它获得我的标准。此外,如果没有收敛,集群的数量可以慢慢减少。
我该如何在 R 中进行操作?