我是R的初学者。我有11个顶点的图形。我试图用单连接制作树形图,但我得到一些奇怪的错误。这是我自己手动创建的距离矩阵。它的矩阵为11x11。
mat<-matrix(c(0,1,2,3,3,1,2,2,2,3,2,
1,0,1,2,2,2,1,2,3,2,3,
2,1,0,1,1,2,2,1,2,3,3,
3,2,1,0,1,3,3,2,3,4,4,
3,2,1,1,0,3,3,2,3,4,4,
1,2,2,3,3,0,1,1,1,2,1,
2,1,2,3,3,1,0,1,2,1,2,
2,2,1,2,2,1,1,0,1,2,2,
2,3,2,3,3,1,2,1,0,1,1,
3,2,3,4,4,2,1,2,1,0,1,
2,3,3,4,4,1,2,2,1,1,0),nrow=11,byrow=TRUE)
rownames(mat)<-c('v1', 'v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8', 'v9', 'v10', 'v11')
colnames(mat)<-c('v1', 'v2', 'v3', 'v4', 'v5', 'v6', 'v7', 'v8', 'v9', 'v10', 'v11')
当我尝试启动我的hclust功能时:
singleLinkage <- hclust(mat,method="single")
如果(is.na(n)|| n&gt; 65536L)停止(“大小不能超过NA也不超过65536”),我得到错误错误: 缺少需要TRUE / FALSE的值。我认为错误在矩阵中。在hclust函数中应该是由dist函数创建的一些矩阵,但我根本不理解这个概念。请问任何人可以帮助哪里出错?非常感谢你。 :)
答案 0 :(得分:2)
hclust
一个dist
对象。你可以通过计算dist得到它,或者像你的情况一样,将矩阵强制转换为dist(因为它已经有了它的属性)。
hclust(as.dist(mat), method = "single")