稀疏矩阵作为R中层次聚类的输入

稀疏矩阵作为R中层次聚类的输入,r,sparse-matrix,R,Sparse Matrix,我有一个关于使用距离矩阵进行聚类的问题,但是比较稀疏 是否有一种稀疏距离对象格式不展开矩阵,可以使用稀疏表示 目前我正在做以下工作 # read sparse matrix sparse <- readMM('sparse-matrix') distance <- as.dist(sparse) 但是使用as.dist转换它会失败 asMethod(对象)中出错:不允许使用负长度向量 大概是因为它将矩阵扩展为一个完整的形式。矩阵(NxN)大小为N=49281 例如,hclust方法

我有一个关于使用距离矩阵进行聚类的问题,但是比较稀疏

是否有一种稀疏距离对象格式不展开矩阵,可以使用稀疏表示

目前我正在做以下工作

# read sparse matrix
sparse <- readMM('sparse-matrix')
distance <- as.dist(sparse)
但是使用as.dist转换它会失败

asMethod(对象)中出错:不允许使用负长度向量

大概是因为它将矩阵扩展为一个完整的形式。矩阵(NxN)大小为N=49281 例如,hclust方法需要此格式(dist对象)


没有任何答案的类似问题

距离矩阵如何稀疏?每两个对象之间都有一个距离,所以它实际上是一个非常密集的矩阵。然而,三角形矩阵足以描述相互距离(如D=D')。这实际上是由
dist
生成的对象的情况


如果距离矩阵是稀疏的,因为许多对象都是相同的,那么您可能希望只在唯一的对象上计算距离矩阵。

好的,让我们重新措辞。构成矩阵的向量不是很连通。所以距离矩阵中的很多条目应该是NA。但是as.dist将其转换为三角形矩阵。距离矩阵是预先计算好的,我只是想用它…@Joey:我可能还是不明白。如果计算某个特征为
NA
的一个对象到另一个对象的距离,该距离是否可能不是
NA
?这适用于使用例如余弦距离和忽略1的值,例如正交值
>sparse
[1,] . . .
[2,] 1 . .
[3,] 1 . .

> as.dist(sparse)
1 2
2 1  
3 1 0