我有一个非常大的数据集,表示为文本文件中的稀疏矩阵(三列,i,j,值)。我正在尝试两种单独的分析 - 首先,找到每列的平均值,然后找到矩阵的所有对角线元素。
以前的数据集以不太精细的方式表示相同的信息,我只使用了普通的矩阵函数。为了对这个稀疏矩阵做同样的事情,我想重建密集矩阵并以相同的方式计算。但是,如果有一种方法可以在不重建密集矩阵的情况下获得列平均值/对角线,那么也可以。
答案 0 :(得分:3)
我们可以使用colMeans
和diag
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))