【问题标题】:Seperating data, based on cluster in clusteranalysis分离数据,基于聚类分析中的聚类
【发布时间】:2020-04-14 02:39:20
【问题描述】:

[R 新手]

我有一个数据集,其中包含我想要聚类以进行聚类分析的变量(比如说 p01 和 p02),以及我想要检查的变量 (p03, p04),基于聚类依赖性。

这给了我以下数据集:dataComplete (pa01,pa02,pa03,pa04)

和:dataCluster <- select(dataComplete, pa01,pa02)

我创建了两个集群clusters <- kmeans(dataCluster,2, nstart = 25)

如何根据dataCluster的聚类分离dataComplete?

这样我就可以例如绘制 pa03 cluster1 并将其与 pa03 cluster2 进行比较。

编辑:这是 pa04 的当前图,标记了两个集群

理想情况下,我想要的是两个带有 pa04 的单独图,一个来自 cluster1,一个来自 cluster2

【问题讨论】:

  • 如果我理解正确,您应该分配clusters(即dataCluster$clusters <- clusters),然后您可以根据列簇对pa03和pa04进行任何比较。
  • 感谢您的回复,这部分工作,我可以绘制变量并像这样标记集群:plot(dataComplete$pa03, col=dataComplete$cluster),但我无法分离数据

标签: r


【解决方案1】:

不太清楚你所说的分离是什么意思,而且由于我看不到你的聚类结果如何,我可以建议使用以下图表来看看你在聚类中未使用的变量现在会有什么不同,给定聚类:

library(dplyr)
dataComplete = iris[,-5]
colnames(dataComplete) = c("pa03","pa04","pa01","pa02")
dataCluster <- select(dataComplete, pa01,pa02)
clusters <- kmeans(dataCluster,2, nstart = 100,iter.max=10)

在散点图上查看它们:

par(mfrow=c(1,2))
plot(dataComplete[,c("pa01","pa02")],col=clusters$cluster)
plot(dataComplete[,c("pa03","pa04")],col=clusters$cluster)

上图告诉您集群的值如何在自变量中分布(未在集群中使用)。通过分离,如果您的意思是比较分布,请执行

par(mfrow=c(1,2))
boxplot(dataComplete$pa03 ~ clusters$cluster,xlab="cluster",ylab="pa03")
boxplot(dataComplete$pa04 ~ clusters$cluster,xlab="cluster",ylab="pa04")

【讨论】:

  • 谢谢,我正在寻找数据在你的箱线图中分开的东西,但它也可以用作散点图或饼图,正如你在我编辑的问题中看到的那样,情节并不漂亮阅读或解释。
  • 所以你可以使用箱线图?就像上面的代码一样?
  • 是的,代码有效。但是有没有办法根据集群拆分数据集,以便 ``` dataset_cluster1
  • dataset_cluster1 = datasetcomplete[clusters$cluster == 1,] ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
相关资源
最近更新 更多