2015-03-13 28 views
2

我正在探索r编程环境,对我的测试数据执行聚类分析。为了进行测试,我使用了具有以下散点图的柱状图数据集和针对价值指数绘制的柱状图。k表示聚类结果存储供以后使用

enter image description here

enter image description here 从数据我感觉值可以被划分成7簇。而当我使用kmeans函数时,没有簇参数为7,我得到以下结果。

Within cluster sum of squares by cluster: [1] 492.480 2979.013 1903.396 18682.262 1430.533 754221.504 (between_SS/total_SS = 98.3 %)

现在我的疑问是如何存储这些结果(不一定是R),这样,当我得到一个新的数据集我应该能够比较I/P数据和设置已存储的聚类结果。我应该能够将I/P数据集的值分成已知的簇。

+0

你为什么试图对已经有7个离散值的数据进行“聚类”? – 2015-03-13 15:01:53

+0

@SeñorO八实际;-)但我同意提供的例子不是非常有用。 – agenis 2015-03-13 15:06:30

+0

Senor这是一个测试数据集。真实的数据会更密集。 – Soumajit 2015-03-13 15:06:39

回答

1

检查部分help(kmeans)。这些中心会告诉你中心的位置在哪里。对于传入的数据,计算它最接近的中心。例如:

data(mtcars) 
mt.k <- kmeans(mtcars, centers = 4) 
mt.k$centers 
+0

感谢vpipkt的指针。 – Soumajit 2015-03-13 15:49:19

1

如何处理kmeans对象并不明显。最容易做的事情是将其连接到数据帧:

k = kmeans(data, centers = 7) 
data = k$cluster 

现在你有簇号作为data.frame列。保存,但是你会保存一个data.frame。