我想在 R 中进行聚类分析。因此我创建了一个距离矩阵(图 1)如下:
matrix_a <- data.frame(n1=c(0,1,11,5),n2=c(1,0,2,3),n3=c(11,2,0,4),n4=c(5,3,4,0))
然后我使用下面的代码进行聚类分析:
result <- hclust(matrix_a,method="average")
但是发生了错误:
Error in if (is.na(n) || n > 65536L) stop("size cannot be NA nor exceed 65536") : missing value where TRUE/FALSE needed
谁能帮我看看我哪里错了?
最佳答案
在?hclust
中,d
参数被描述为:
d
a dissimilarity structure as produced by dist.
对象matrix
不是这样的对象。事实上它甚至不是一个 R 矩阵。它是一个数据框。
尝试以下操作。我们为输入指定了更准确的名称,然后根据需要将其转换为 dist
对象。
DF <- data.frame(n1 = c(0,1,11,5), n2 = c(1,0,2,3), n3 = c(11,2,0,4), n4 = c(5,3,4,0))
hclust(as.dist(DF), "ave")
关于r - 使用聚类分析("hclust"函数时R中出现错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739728/