我正使用包varclus
中的Hmisc
来执行变量聚类(我的变量都是数字)。但是,我找不到获取有关我获得的集群的更多信息的方法。我从cutree
尝试了hclust
,但它没有用。
关于集群及其中包含的变量的唯一信息我可以通过可视化树来获得,但它不是很有用......
对于cutree
,是否有人知道与varclus
类似的功能?还是另一个执行变量聚类的函数?
我是新用户,所以非常欢迎任何帮助!
这是我想要剪切的树形图的一个例子。
install.packages('dprep')
library(dprep)
library(datasets)
mxionosphere <- data.matrix(ionosphere)
v <- varclus(mxionosphere)
plot(v)
我想剪切我获得的树形图作为输出。
非常感谢!
答案 0 :(得分:0)
您仍然可以使用cutree()
作为varclus()
,您只需先提取hclust
对象。您也可以使用包含ClustOfVar
和hclustvar()
函数的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
一样。
使用ClustOfVar
包
(https://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()