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

时间:2013-04-09 19:40:38

标签: r sparse-matrix

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

是否存在稀疏距离对象格式,该格式不会扩展矩阵并且可以使用稀疏表示?

目前我正在做以下

# 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转换它会失败并带有

  

asMethod(object)中的错误:不允许使用负长度向量

据推测,因为它将矩阵扩展为完整的形式。矩阵(N×N)大小为N = 49281 需要这种格式(dist对象),例如hclust方法

类似问题没有回答on the R help list

1 个答案:

答案 0 :(得分:-3)

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

如果距离矩阵是稀疏的,因为很多物体是相同的,那么你可能只想在唯一物体上计算距离矩阵。