gpt4 book ai didi

r - 从预先计算的距离矩阵绘制树状图

转载 作者:行者123 更新时间:2023-12-04 09:36:09 24 4
gpt4 key购买 nike

我知道还有另一篇与此类似的帖子,但它对我的情况没有帮助。我试图从我不使用欧几里得距离(使用地球移动者与 emdist 包的距离)计算的距离矩阵绘制树状图。我现在试图从这个矩阵中绘制一个树状图:

dim(x)
[1] 8800 8800

x <- x[1:10,1:10]
x
1 2 3 4 5 6 7
1 0.00000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
2 0.67400563 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
3 0.02577228 0.6526842 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000
4 0.37994900 0.7268372 0.1240314 0.0000000 0.0000000 0.0000000 0.0000000
5 0.85156584 1.0248822 0.6165767 0.9077611 0.0000000 0.0000000 0.0000000
6 0.51784015 0.5286874 0.5115762 0.6601093 1.1639417 0.0000000 0.0000000
7 0.19290720 0.5906327 0.6576926 0.4350795 0.2986499 0.4130357 0.0000000
8 1.57669127 1.3727582 1.4215065 1.9522834 1.0919793 0.9681544 1.0372481
9 3.01650143 3.3004177 3.0651622 3.2502077 4.1505108 2.9940774 3.6078234
10 0.48684093 0.6997258 0.3959822 0.3515030 0.8611233 0.5505790 0.3047047
8 9 10
1 0.000000 0.000000 0
2 0.000000 0.000000 0
3 0.000000 0.000000 0
4 0.000000 0.000000 0
5 0.000000 0.000000 0
6 0.000000 0.000000 0
7 0.000000 0.000000 0
8 0.000000 0.000000 0
9 3.753577 0.000000 0
10 1.500342 3.309016 0

问题是我跑的时候
plot(hclust(x))

我收到此错误:

Error in if (is.na(n) || n > 65536L) stop("size cannot be NA nor exceed 65536") : missing value where TRUE/FALSE needed



而如果我运行 dist 函数来计算与我已经使用不同方法计算的距离矩阵的欧几里得距离,它会绘制绘图。
plot(hclust(dist(x)))

enter image description here

然而,这是不现实的。我需要 hclust 从我已经使用不同方法计算的距离矩阵开始工作。有任何想法吗?

最佳答案

hclust 需要一个 dist 类的对象。 as.dist,而不是 dist,应该给你你想要的。

plot(hclust(as.dist(x)))

关于r - 从预先计算的距离矩阵绘制树状图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21442624/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com