我有一个关于使用距离矩阵进行聚类的问题,但是稀疏。
是否存在稀疏距离对象格式,该格式不会扩展矩阵并且可以使用稀疏表示?
目前我正在做以下
# 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
答案 0 :(得分:-3)
距离矩阵如何稀疏?每两个对象之间有一个距离,因此它实际上是一个非常密集的矩阵。但是,三角矩阵足以描述相互距离(如 D = D ')。实际上,dist
生成的对象就是这种情况。
如果距离矩阵是稀疏的,因为很多物体是相同的,那么你可能只想在唯一物体上计算距离矩阵。