如何使用kkmeans(kernlab包)分配新的集群

时间:2018-05-29 00:10:16

标签: r cluster-computing cluster-analysis k-means

kkmeans包中的函数kernlab执行特定数据集中的Kernl K-Means。但是,当我运行该函数时,它只返回中心,clusterize和簇内平方和。这是一个例子

library(kernlab)
test<-kkmeans(as.matrix(iris[,-5]),3)
test

但我对每个观察的群集成员分类感兴趣。有人知道如何将这些值存储在矢量中吗?

1 个答案:

答案 0 :(得分:0)

如果您查看test变量,您会看到群集成员资格存储在.Data组件中。您可以使用以下方式访问它:

cluster_membership <- test@.Data
print(cluster_membership)

输出:

[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 3 2 2 2 3 2 3 3 2 3 2 3 2 2 3 2 3 2 2 2 2
[75] 2 2 2 2 2 3 3 3 3 2 3 2 2 2 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 2 3 3 3 3 3 2 3 3 3 2 3 3 2 2 3 3 3 3 3 2 3 3 3 3 2 3 3 3 3 3 3 3 2 3
[149] 3 2

如果您愿意,可以将测试变量本身用于绘图目的,因为它将vector类扩展为specc对象:

plot(iris, col=test)

kkmeans plot