【问题标题】:Wrong dendrogram in Matlab (compared with R)Matlab中错误的树状图(与R相比)
【发布时间】:2020-02-05 08:56:42
【问题描述】:

我试图在 Matlab 中基于相异矩阵 X 制作树状图。我使用 Y=squareform(X) 将其转换为链接可以接受的格式。然后我得到以下向量:

Y = [0 0 0 0 1.4476 0 0 0 0 0 0 0 0 0 1.7525 0 0 0 0 0 1.9634 11.3676 0 0 0 2.1579 14.4957 0 0 0 0 0 0 0 0 0]; 

我尝试使用完整的链接绘制树状图:

dendrogram(linkage(Y,'complete'))

并得到以下结果:

但是,当我在 R 中使用相异矩阵 X 时(也使用完整的链接方法:dend <- as.dendrogram(hclust(as.dist(X)))),我得到一个完全不同的树状图: 与 matlab 相比,使用 R 制作的树状图对输入数据更有意义(因为它符合所用数据的预期分组)。 知道为什么它们如此不同吗?有没有办法在matlab中重现R树状图?

编辑:X 矩阵:

     0         0         0         0         0    1.4476         0         0         0
     0         0         0         0         0         0         0         0    1.7525
     0         0         0         0         0         0         0         0    1.9634
     0         0         0         0   11.3676         0         0         0    2.1579
     0         0         0   11.3676         0   14.4957         0         0         0
1.4476         0         0         0   14.4957         0         0         0         0
     0         0         0         0         0         0         0         0         0
     0         0         0         0         0         0         0         0         0
     0    1.7525    1.9634    2.1579         0         0         0         0         0

【问题讨论】:

  • 能否分享一下用于获取第二个情节的 R 代码?
  • ...给我们输入数据X 来解释为什么 R 图“更有意义”
  • 已添加R代码。只需在 Matlab 中使用 squareform(Y) 即可获取 X 矩阵,但我也可以将其添加到帖子中

标签: r matlab linkage dendrogram


【解决方案1】:

没关系,我现在找到了答案 - 如果我使用 linkageold 函数(在当前 linkage 函数的脚本中找到)我会得到正确的结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-19
    • 2014-02-20
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多