我一直在使用hclust算法,以下是代码:
hc = hclust(dist(mydata))## 调整一些参数以绘制树状图# 设置背景颜色op = par(bg="#DDE3CA")# 绘制树状图plot(hc, col="#487AA1", col.main="#45ADA8", col.lab="#7C8071", col.axis="#F38630", lwd=3, lty=3, sub='', hang=-1, axes=FALSE)# 添加轴axis(side=2, at=seq(0, 400, 100), col="#F38630", labels=FALSE, lwd=2)# 在边距添加文本mtext(seq(0, 400, 100), side=2, at=seq(0, 400, 100), line=1, col="#A38630", las=2)par(op)
我想以编程方式实现它,hclust使用的是哪种聚类变体?它与维基百科上的实现相同吗: http://en.wikipedia.org/wiki/Hierarchical_clustering ?
回答:
hclust
的实现基于Fionn Murtagh的Fortran代码。它存放在statlib中: http://lib.stat.cmu.edu/S/multiv。所有方法都在他的手稿“Multivariate Data Analysis with Fortan, C and Java Code”中描述,你可以在这里找到: 这里。他的资源网站 http://www.classification-society.org/csna/mda-sw/ 也是一个很好的起点。希望这对你有帮助。