目录
1.5-1版本Matrix报错:
R包之间相互不兼容就会出现报错:
版本:
R version 4.2.2 (2022-10-31 ucrt) -- "Innocent and Trusting"
packageVersion('Seurat')##查看版本
[1] ‘4.3.0’
此时的Matrix版本为1.5-1
报错:Error in validityMethod(as(object, superClass)) : 找不到对象'CsparseMatrix_validate'
# 1.51版本Matrix
pbmc <- ScaleData(pbmc, vars.to.regress = "percent.mt")
#Error in validityMethod(as(object, superClass)) :
# 找不到对象'CsparseMatrix_validate'
原因是:Matrix包的矩阵问题。为什么Seurat中的FindNeighbor给予“未找到'CsparseMatrix_validate'”错误? _大数据知识库 (saoniuhuo.com)
从2022年9月起,在R-devel邮件列表的this thread中讨论了潜在问题。CsparseMatrix_validate
是在Matrix1.5-3中定义的,用于替换虚拟类CsparseMatrix
的现有有效性方法。问题是在Matrix1.5-3(或更新版本)下构建的某些包在其命名空间中缓存了有效性方法,但没有缓存CsparseMatrix_validate
的定义。
调用cached方法时,必须在安装的任何版本的Matrix中找到CsparseMatrix_validate
。如果该版本早于1.5-3,则找不到该符号,结果就是您看到的错误。
要为所有用户解决这个问题,问题包的维护者应该将Matrix (>= 1.5-3)
放在他们包的DESCRIPTION
文件中Imports
或Depends
下。
在此之前,个人用户只需安装Matrix1.5-3(或更新版本)
1.6.5版本Matrix报错:
1.6.5版本Matrix:Computing SNN
Error in validObject(.Object) :
类别为“Graph”的对象不对: superclass "mMatrix" not defined in the environment of the object's class
1.5.3版本Matrix解决问题:
于是直接下载1.53版本进行测试。(下载本地安装更加方便)
https://cran.r-project.org/src/contrib/Archive/Matrix/Matrix_1.5-3.tar.gz
> packageVersion('Matrix')
[1] ‘1.5.3’
不得不说这个R包和相关配置的包一定得对应。。。
参考:
为什么Seurat中的FindNeighbor给予“未找到'CsparseMatrix_validate'”错误? _大数据知识库 (saoniuhuo.com)
报错处理——object ‘CsparseMatrix_validate‘ not found - 简书 (jianshu.com)