如何用R中的varclus剪切树形图?

时间:2016-04-11 20:43:00

标签: r cluster-analysis

我正使用包varclus中的Hmisc来执行变量聚类(我的变量都是数字)。但是,我找不到获取有关我获得的集群的更多信息的方法。我从cutree尝试了hclust,但它没有用。 关于集群及其中包含的变量的唯一信息我可以通过可视化树来获得,但它不是很有用......

对于cutree,是否有人知道与varclus类似的功能?还是另一个执行变量聚类的函数? 我是新用户,所以非常欢迎任何帮助!

这是我想要剪切的树形图的一个例子。

install.packages('dprep')
library(dprep)
library(datasets)

mxionosphere <- data.matrix(ionosphere)
v <- varclus(mxionosphere)
plot(v)

我想剪切我获得的树形图作为输出。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您仍然可以使用cutree()作为varclus(),您只需先提取hclust对象。您也可以使用包含ClustOfVarhclustvar()函数的cutreevar()包执行此操作:

使用Varclus()

您可以使用cutree功能,只需先从hclust中提取v对象即可。这是有效的,因为varclus()函数中完成的聚类实际上是由hclust()完成的。请参阅?Hmisc :: varclus

然后您的代码可以使用如下:

library(dprep)
library(datasets)
mxionosphere <- data.matrix(ionosphere)
v <- varclus(mxionosphere)
groups <- cutree(v$hclust, 10)

将输出每个变量所属的集群,就像它对hclust一样。

使用ClustOfVarhttps://cran.r-project.org/web/packages/ClustOfVar/ClustOfVar.pdf

varclus()类似,hclustvar()将对变量执行层次聚类。然后,您可以使用cutreevar()将树形图切割为k组。

libary(ClustOfVar)
h<-hclustvar(mxionosphere)
clusters<-cutreevar(h, k=10)
groups<-clusters$cluster ##extract clusters values similar to cutree()