我正在尝试使用Matrix包来读取MatrixMarket格式的文件,但我找回了ngTMatrix。由于没有从ngTMatrix转换为dgCMatrix的方法,因此我无法将其转换为as。将其转换为非稀疏矩阵不是一个选项,因为它太大了。 有什么建议吗?
答案 0 :(得分:3)
我不确定您遇到问题的原因,因为可以使用as()
强制ngTMatrix
强制ngCMatrix
:
> pm <- as(as.integer(c(2,3,1)), "pMatrix")
3 x 3 sparse Matrix of class "pMatrix"
[1,] . | .
[2,] . . |
[3,] | . .
> pm.t <- as(pm, 'ngTMatrix')
> pm.c <- as(pm.t, 'ngCMatrix')
> class(pm.c)
[1] "ngCMatrix"
attr(,"package")
[1] "Matrix"
> class(pm.t)
[1] "ngTMatrix"
attr(,"package")
[1] "Matrix"