Matrix::readMM包报Dim_validate错误
在使用Matrix::readMM读取10x的mtx文件的时候,出现一下报错:
a=Matrix::readMM('matrix.mtx')
Error in isTRUE(r <- .Call(Dim_validate, object, "Matrix")) :
object 'Dim_validate' not found
在google上搜索各种问题,没有找到相关解决方案,然后再集群的另外一个R中,缺正常读取mtx文件,这样看了,可能是版本兼容性的问题,查看另外一个Matrix包的版本:
#可用Matrix版本
packageVersion('Matrix')
#[1] ‘1.5.3’
#不可用Matrix版本:
packageVersion('Matrix')
#[1] ‘1.6.0’
解决问题
发现两者版本不一样,尝试按照老版本的Matrix包,测试:
devtools::install_version("Matrix", version ='1.5.3')
a=Matrix::readMM('matrix.mtx')
a[1:3,1:5]
#3 x 5 sparse Matrix of class "dgTMatrix"
#
#[1,] . . . . .
#[2,] . . . . .
#[3,] . . . . .
终于解决问题,正常读取mtx文件,通过此报错,说明R包不一定最新的就合适,新的R包可能与其他的一些包存在一些兼容性问题。