我代表以下矩阵:
6 5 0
0 5 4
0 0 4
作为data.frame。 R中的data.frame有三列。 COO格式如下:
i j Xij
1 1 6
1 2 5
2 2 6
2 3 5
3 3 6
请注意,没有行[1 3 0]
行,因为它的值为零而省略。这同样适用于下三角值,也是零。
我想要做的是将其转换为来自R中matrix.coo
包的dgCMatrix
或Matrix
类对象。
我不想先将它转换为常规矩阵,因为我使用的数据集非常大,编写一个循环将其转换为标准R矩阵需要太长时间。
答案 0 :(得分:2)
查看?Matrix::sparseMatrix
我们可以使用已编码的函数,如下所示:
myMatrix <- Matrix::sparseMatrix(i = coo$i, j = coo$j, x = coo$Xij, dims = c(42, 42))