从R中的稀疏矩阵重构密集矩阵

时间:2016-02-24 07:39:46

标签: r matrix sparse-matrix

我有一个非常大的数据集,表示为文本文件中的稀疏矩阵(三列,i,j,值)。我正在尝试两种单独的分析 - 首先,找到每列的平均值,然后找到矩阵的所有对角线元素。

以前的数据集以不太精细的方式表示相同的信息,我只使用了普通的矩阵函数。为了对这个稀疏矩阵做同样的事情,我想重建密集矩阵并以相同的方式计算。但是,如果有一种方法可以在不重建密集矩阵的情况下获得列平均值/对角线,那么也可以。

1 个答案:

答案 0 :(得分:3)

我们可以使用colMeansdiag

colMeans(m1)
#[1] 0.0 0.6 2.8 0.0 1.4 0.0 2.8 0.0 2.4

diag(m1)
#[1] 0 0 9 0 0

数据

library(Matrix)
m1 <- sparseMatrix(c(1,1,2,3, 4,5), c(2,5, 3,3,7,9), 
               x = c(3,7, 5, 9, 14, 12))