R 对hclust连杆使用不同的度量?

R 对hclust连杆使用不同的度量?,r,cluster-analysis,R,Cluster Analysis,在R中,您可以使用各种度量在聚类之前构建距离矩阵,例如二进制距离、曼哈顿距离等。。。 然而,在选择链接方法(完整、平均、单一等)时,这些链接都使用欧几里德距离。如果依赖差异度量来构建距离矩阵,则这似乎并不特别合适 在构建聚类树时,是否有方法(或库…)将其他距离应用于链接方法 谢谢 我真的不明白你的问题。例如,假设我有以下数据: x <- matrix(rnorm(100), nrow=5) 然后,我可以按自己的意愿加入群集: ##Changing the clustering metho

在R中,您可以使用各种度量在聚类之前构建距离矩阵,例如二进制距离、曼哈顿距离等。。。 然而,在选择链接方法(完整、平均、单一等)时,这些链接都使用欧几里德距离。如果依赖差异度量来构建距离矩阵,则这似乎并不特别合适

在构建聚类树时,是否有方法(或库…)将其他距离应用于链接方法


谢谢

我真的不明白你的问题。例如,假设我有以下数据:

x <- matrix(rnorm(100), nrow=5)
然后,我可以按自己的意愿加入群集:

##Changing the clustering method
hclust(d_m, method="median")

您可能希望尝试使用
agnes
,而不是
hclust
,并将距离矩阵交给它。这里有一个很好的教程:

在本教程中,您将如何生成并使用距离矩阵进行聚类:

> library(vegan)
# load library for distance functions
> mydata.bray <- vegdist(mydata, method="bray")
# calculates bray (=Sørenson) distances among samples
> mydata.bray.agnes <- agnes(mydata.bray)
# run the cluster analysis
>图书馆(素食主义者)
#距离函数的加载库

>mydata.bray mydata.bray.agnes如果您构建了一个已经表示成对距离的矩阵,请使用

hclust(as.dist(mx), method="single")

好的,我想我的问题是与用于构建距离矩阵的度量和选择的链接方法之间的关系有关:是否有任何组合可能,或者某些链接方法是否更适合某些度量?hclust手册页指出“[…]只有在有限数量的距离/链接组合中,才能有效地计算簇之间的差异(即,没有“hclust”本身),最简单的是平方欧几里德距离和质心链接。”如果这是你真正的问题(这是个好问题!),与其说是计算,不如说是统计。也许关闭(或接受答案)并尝试stats.sx谢谢,但我看不出与hclust函数有什么区别:hclust还将使用dist或dist函数计算的距离矩阵作为输入,用户可以指定特定的链接方法。您能澄清您的原始问题吗?我不明白你在问什么。无论如何,您也可以指定agnes的度量,它将为您计算距离矩阵,尽管它仅限于曼哈坦距离和欧几里德距离。一般来说,我建议您只使用Müllner教授的代码,该代码对任何特定指标都没有任何优化,但无论如何都应优于
hclust
agnes
(1-COR(X)$)。在分层聚类过程中,计算新的距离:融合对象(簇)到所有其他对象/簇的距离。问题是:如何使
hclust
在这些计算中也使用非标准距离?这意味着这里(至少)有2个问题:a)编程问题。b)统计部分:是否有必要/良好/有意义/在
hclust
中使用非标准距离有什么意义,因为它是在距离矩阵而不是数据矩阵上运行的?事实上,这正是我的问题:如何在迭代聚类中使用非标准度量,我认为在stackoverflow上,这个问题的编程部分可以得到回答。由于我对问题的统计/数学部分更感兴趣,我刚刚在crossvalidated上发布了这部分内容:
hclust(as.dist(mx), method="single")