我应该为 hclust 使用 vegdist 还是 dist?

Should I use vegdist or dist for hclust?

我正在尝试使用二进制数据进行层次聚类分析,对于距离矩阵,我应用了 vegan 包中的函数 vegdist()

dist.jac <- vegdist(final_df, method="jaccard", binary = TRUE)

接下来,我使用了函数 hclust,但不确定是否应该使用 vegdist():

生成的相异矩阵
jac <- hclust(dist.jac, method = "ward.D")

或尝试这样的事情(如我所见):

jac <- hclust(dist(dist.jac), method = "ward.D")

因为函数 hclust() 需要 'a dissimilarity structure as produced by dist'。但另一方面,vegan 包说“应该为 dist 和 return 提供相同类型的距离对象的直接替代”和“该功能是 dist 的替代品”。申请 dist(dist.jac) 对我来说没有多大意义,但我已经看到这样做了,所以如果有人能向我解释我应该使用哪一个,我将不胜感激!

如果有人在做 dist(dist.jac) 他们得到的是数据差异的差异而不是数据差异。这很少有意义。

正如 vegan 文档所说,vegdistdist 的直接替代品。使用哪一个都没有关系。如果差异仅在一种选择中可用,请使用它。如果两者都可用,请使用其中一个。在那种情况下,我个人更喜欢 dist 因为它不需要调用任何贡献的包。