1,直接计算距离(如欧式距离)比较容易
test <- matrix(rnorm(20), ncol = 4)
rownames(test) <- LETTERS[1:5]
colnames(test) <- letters[1:4]
dist(test, method = "euclidean")
输出为
A B C D
B 2.5748497
C 0.7089751 2.9447468
D 1.5879985 1.6651831 1.9984134
E 2.1284458 2.5815245 2.0955073 1.3708863
2,系统树图中距离和上面的距离不一样,如何计算呢?
使用cophenetic()函数
# test跟1中一样
x <- hclust(dist(test, method = "euclidean"), method = "average")
cophenetic(x)
输出为
A B C D
B 2.5748497
C 0.7089751 2.9447468
D 1.5879985 1.6651831 1.9984134
E 2.1284458 2.5815245 2.0955073 1.3708863