给定距离矩阵的层次聚类
Hierarchical Clustering given distance matrix
给定一个距离矩阵
d = matrix(c(0,2.5,4.5,2.5,0,3.4,4.5,3.4,0), nrow=3),
如何使用 R 进行层次聚类?使用
hclust(d)
它给我错误
Error in if (is.na(n) || n > 65536L) stop("size cannot be NA nor exceed 65536") : missing value where TRUE/FALSE needed.
您需要将其转换为具有 dist
、
的对象
d1 = as.dist(d)
hclust(d1)
如果你检查 d1
R> str(d1)
Class 'dist' atomic [1:3] 2.5 4.5 3.4
..- attr(*, "Size")= int 3
..- attr(*, "call")= language as.dist.default(m = d)
..- attr(*, "Diag")= logi FALSE
..- attr(*, "Upper")= logi FALSE
您可以看到 R 对其存储的内容非常聪明;它只需要下三角矩阵。
给定一个距离矩阵
d = matrix(c(0,2.5,4.5,2.5,0,3.4,4.5,3.4,0), nrow=3),
如何使用 R 进行层次聚类?使用
hclust(d)
它给我错误
Error in if (is.na(n) || n > 65536L) stop("size cannot be NA nor exceed 65536") : missing value where TRUE/FALSE needed.
您需要将其转换为具有 dist
、
d1 = as.dist(d)
hclust(d1)
如果你检查 d1
R> str(d1)
Class 'dist' atomic [1:3] 2.5 4.5 3.4
..- attr(*, "Size")= int 3
..- attr(*, "call")= language as.dist.default(m = d)
..- attr(*, "Diag")= logi FALSE
..- attr(*, "Upper")= logi FALSE
您可以看到 R 对其存储的内容非常聪明;它只需要下三角矩阵。