【问题标题】:Error when reading sparse matrix in R在 R 中读取稀疏矩阵时出错
【发布时间】:2017-03-11 23:07:27
【问题描述】:

我正在尝试读取 R 中具有对称稀疏矩阵的 .mtx 文件。我正在使用 e1071 包和以下命令:

read.matrix.csr("filename.mtx")

但我收到以下错误:

rja[, 2] 中的错误:下标越界 另外:警告信息: 在 read.matrix.csr("soc-twitter-follows.mtx") 中:强制引入的 NAs

我尝试了其他 .mtx 文件,但我不断收到相同的错误。有什么想法吗?

【问题讨论】:

    标签: r matrix sparse-matrix


    【解决方案1】:

    你确定你的 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')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-05
      • 2018-12-14
      • 1970-01-01
      • 2011-06-24
      • 2013-11-29
      • 2013-06-26
      • 1970-01-01
      相关资源
      最近更新 更多