我有 150 种实验物质。分别测量了每种物质的 80 种特性。我应用 PCA 来计算它的 PC 并确定前三个组件。现在,我想在 R. 软件 (www.R-project.org) 中应用 k-means 聚类,对低维数据进行 1000 次迭代,以将个人与其各自的人群。
谁能看到如何做到这一点?谢谢
请参阅adegenet 包并尝试DAPC。
请阅读http://bmcgenet.biomedcentral.com/articles/10.1186/1471-2156-11-94我认为它如您所愿。它在adegenet R 包中作为DAPC 实现。这个实现是为多位点基因型数据设计的,但是原理描述的很好,所以你可以针对自己的数据修改或者找类似的东西。
它对 PC 转换(“清除”)数据执行 K-means 聚类,从而显着加快整个计算速度。最后它执行判别分析以获得最佳聚类。这是非常有效的方法。
http://www.statmethods.net/advstats/cluster.html为集群数据提供了简单易用的示例。
对于您的问题:
考虑一些随机正常数据和一些简单的代码来适应 Kmeans 聚类。请注意,3 个集群将适合此数据(纯粹是任意的)。
data = matrix(rnorm(450),ncol=3)
fit = kmeans(data, centers = 3, iter.max = 1000)
cluster.data = data.frame(data, fit$cluster)
这回答了你的问题吗?