我有一个关于使用距离矩阵聚类但稀疏的问题。
是否有一种不扩展矩阵并且可以与稀疏表示一起使用的稀疏距离对象格式?
目前我正在做以下事情
# read sparse matrix
sparse <- readMM('sparse-matrix')
distance <- as.dist(sparse)
稀疏矩阵已经是正确的距离矩阵,对于未连接的条目具有 NA。
>sparse
[1,] . . .
[2,] 1 . .
[3,] 1 . .
> as.dist(sparse)
1 2
2 1
3 1 0
但是用 as.dist 转换它失败了
Error in asMethod(object) : negative length vectors are not allowed
大概是因为它把矩阵展开成一个完整的形式。矩阵 (NxN) 大小为 N = 49281 例如 hclust 方法需要这种格式(dist 对象)
没有任何答案的类似问题on the R help list
最佳答案
距离矩阵如何稀疏?每两个物体之间都有一个距离,所以它实际上是一个非常密集的矩阵。然而,三角矩阵足以描述相互距离(如 D = D')。 dist
生成的对象实际上就是这种情况。
如果距离矩阵是稀疏的,因为很多对象都是相同的,那么您可能只想计算唯一对象的距离矩阵。
关于r - 稀疏矩阵作为 R 中层次聚类的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911022/