我试图在R中读取具有对称稀疏矩阵的.mtx文件。我使用的是e1071软件包和以下命令:
read.matrix.csr("filename.mtx")
但我收到以下错误:
rja [,2]中的错误:下标超出范围 另外:警告信息: 在read.matrix.csr(" soc-twitter-follows.mtx"):强制引入的NA
我尝试了其他.mtx文件,但我一直遇到同样的错误。有什么想法吗?
答案 0 :(得分:0)
你确定你的mtx文件真的是csr格式吗?
如果我尝试使用e1071的read.matrix.csr从Matrix包中打开一个mtx文件,我会得到同样的错误。
但是,我可以使用Matrix :: readMM打开该文件,然后使用write.matrix.csr(来自Matrix)保存它。那时,我知道我有一个有效的csr文件,它确实可以用e1071 :: read.matrix.csr打开。
library(Matrix)
library(e1071)
e1071::read.matrix.csr(system.file("external/pores_1.mtx", package = "Matrix"))
pores <-
Matrix::readMM(system.file("external/pores_1.mtx", package = "Matrix"))
write.matrix.csr(x = pores, file = 'pores.csr')
from.csr <- e1071::read.matrix.csr('pores.csr')