R Corrplot with clustering:相关矩阵的默认相异性度量



我使用 R 包corrplot从我的数据中可视化相关矩阵。我涉及使用嵌入式选项 hclust 对变量进行聚类。 命令的调用是这样的(加上标题、轴等的各种排列(:

corrplot(Rbas,type="upper",order="hclust",method="ellipse")

但是现在我使用其他软件包执行一些分析和可视化,并且出现了关于结果兼容性的问题。特别是,我必须手动重复相关矩阵的聚类。但从文档到corrplot有一个模糊的点:在其合理默认值背后使用了什么差异度量?这是 1-|corr|、sqrt(1-corr^2( 还是其他什么?在文献中有多种选择,例如,如本文所述

更新以回答自己的问题。我使用表格 1-corr 中的差异性度量进行了猜测试验。这是我编码的(Rbas 是相关矩阵(:

dissim1<-1-Rbas
dist1<-as.dist(dissim1)
plot(hclust(dist1))

并恢复了变量的顺序,与默认建议的顺序一致corrplothclust调用。但目前尚不清楚这是否确实是他们使用的机制,以及这是否适用于任何其他矩阵?

corrplot

用于对变量重新排序的函数是corrMatOrder(尝试?corrMatOrder(。
它返回单个排列向量。
corrplot中选择order= "hclust"时,corrMatOrder调用corrplot:::reorder_using_hclust函数:

function (corr, hclust.method) 
{
hc <- hclust(as.dist(1 - corr), method = hclust.method)
order.dendrogram(as.dendrogram(hc))
}

此函数使用1-corr作为相异度量。

最新更新