0
我在R中使用简单kmeans聚类单个向量。由于簇号相当随意分配(我假设),因此我需要按顺序获取它们(使用簇中心)。根据聚类中心更改R中kmeans产生的聚类数
这里是一个〔实施例:
> vals <- c(0.22, 0.17, 0.21, 0.13, 0.00)
> set.seed(32833)
> cl <- kmeans(vals ,3)
> cl$cluster
[1] 2 3 2 3 1
> cl$centers
[,1]
1 0.000
2 0.215
3 0.150
你可以从聚类中心看到,集群由杂波中心(升序)的顺序依次为:1,3,2。
我想返回相应转换的已识别簇的向量:
例如,转换(CL $群集)应该给我3 2 3 2 1.
我已经尝试通过排序chaning因子水平,但无法使其达到逻辑结束。
> cl$cluster <- as.factor(as.character(cl$cluster))
> levels(cl$cluster) <- order(-cl$centers)
> cl$cluster
[1] 3 1 3 1 2
Levels: 2 3 1