【问题标题】:Sparse Matrix as input to Hierarchical clustering in R稀疏矩阵作为 R 中层次聚类的输入
【发布时间】:2013-04-01 10:03:40
【问题描述】:

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

是否存在不扩展矩阵且可以与稀疏表示一起使用的稀疏距离对象格式?

目前我正在做以下事情

# read sparse matrix
sparse <- readMM('sparse-matrix')
distance <- as.dist(sparse)

sparse-matrix 已经是正确的距离矩阵,它对于未连接的条目具有 NA。

>sparse
[1,] . . .
[2,] 1 . .
[3,] 1 . .

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

但是用 as.dist 转换它失败了

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

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

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

【问题讨论】:

    标签: r sparse-matrix


    【解决方案1】:

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

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

    【讨论】:

    • 好吧,我们换个说法。构成矩阵的向量不是很连接。所以距离矩阵中的很多条目应该是NA。但是 as.dist 把它变成了一个三角矩阵。 dist 矩阵是预先计算的,我“只是”试图使用它......
    • @Joey:我可能还是不明白。如果您计算一个具有NA 特征的对象到另一个对象的距离,那么这个距离是否有可能不是 NA
    • 这适用,例如,当您使用余弦距离并忽略值为 1 的值时,例如正交
    猜你喜欢
    • 2012-09-05
    • 2017-11-23
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    相关资源
    最近更新 更多