我正在处理一个包含20.000个变量的数据集。这些变量是使用相同的单位测量来测量的,但由于它是一个非常大的数字,我决定将变量聚类以获得某些相关变量的组。
我认为一个很好的选择是应用层次聚类,我使用了以下代码(假设D是数据框):
d <- dist(D, method = "euclidean")
clust1 <- hclust(d, method="ward.D")
plot(clust1)
groups <- cutree(fit, k=150)
正如你所看到的,变量的名称使得很难在这里看到有用的东西,但我实际上不知道怎么做,以至于R不会在树形图上显示变量名。
我还有另一个问题:我使用命令“cutree”来构建gropus,但是如发现的那样,这个命令有一个限制,并且只能构建150个gropus。 ¿有没有其他方法来构建没有这个限制的组?
非常感谢
PD:关于如何对这个疯狂的数据集进行分组的任何其他建议都将得到很好的回复
答案 0 :(得分:2)
您的意思是抑制案例标签而不是变量标签吗? 如果是这样,请使用as.dendrogram和leaflab参数
plot(as.dendrogram(clust1),leaflab='none')
我认为切菜中的k没有限制。您可能需要尝试使用flashClust包,它可以更好地处理大型数据集以进行分层聚类。