我想在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
有人可以帮我查看我错在哪里吗?
答案 0 :(得分:2)
在?hclust
d
参数描述为:
d
由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")