r中kmeans聚类的绘图结果

r中kmeans聚类的绘图结果,r,plot,cluster-analysis,k-means,R,Plot,Cluster Analysis,K Means,我有一个包含1599个观察值和10个属性的数据集,iiiIbeans需要对其进行kmeans聚类。我已经对6个集群进行了kmeans,我可以看到集群中心、大小等,以及哪个观测位于哪个集群中。现在,我需要绘制这些结果,这样我就可以在单个绘图中获得以下信息:在x轴上,我想要原始数据的10个属性中的1个,在y轴上,我想要另一个属性,在绘图中,我想要所有1599个观测值,但我想要它们所属的每个簇有6种不同的颜色。所以,我将有10C2=45个图。基本上,这应该给我一个信息,集群1在特定属性方面是高/中/低

我有一个包含1599个观察值和10个属性的数据集,iiiIbeans需要对其进行kmeans聚类。我已经对6个集群进行了kmeans,我可以看到集群中心、大小等,以及哪个观测位于哪个集群中。现在,我需要绘制这些结果,这样我就可以在单个绘图中获得以下信息:在x轴上,我想要原始数据的10个属性中的1个,在y轴上,我想要另一个属性,在绘图中,我想要所有1599个观测值,但我想要它们所属的每个簇有6种不同的颜色。所以,我将有10C2=45个图。基本上,这应该给我一个信息,集群1在特定属性方面是高/中/低的,而集群2在所有6个集群中都是某某的

我尝试了fpc软件包中的函数plotcluster,但据我所知,它使用PCA将数据映射到2D,然后根据与原始属性不同的2维来绘制聚类。所以现在当我说集群1是低的,在dim1中,它并没有多大意义


是否有一个函数可以实现我想要的功能,或者我应该只是将kmeans输出中的“$cluster”信息附加到原始数据中,然后尝试使用基本函数plot()一次从我的数据中提取两列进行绘图?

我建议一种解决方案,可能不是最简单的解决方案(带有for循环),但它似乎可以满足您的需要:

df=mtcars
df$cluster = factor( kmeans(df, centers=6)$clust )
mycomb <- combn(1:ncol(df), 2)
for (xy in 1:45 ) {
  plot(x=df[, mycomb[1,xy]], 
       y=df[, mycomb[2,xy]], 
       col=as.numeric(df$clust), 
       xlab=names(df)[mycomb[1,xy]],
       ylab=names(df)[mycomb[2,xy]])
}
df=mtcars
df$cluster=系数(kmeans(df,centers=6)$clust)

嗨,如果有任何答案能解决你的问题,你能点击“接受它”让其他人看到吗?谢谢