关于lmer/glmer函数报错及Matrix包安装异常的技术求助
解决lmer/glmer报错及Matrix包重装问题
问题描述
使用lmer/glmer函数时出现如下报错:
Error in initializePtr() : function 'cholmod_factor_ldetA' not provided by package 'Matrix'
执行install.packages("Matrix")时,反复弹出重启R的提示但无效果,已安装最新版R、RStudio及Rtools。

解决方案
强制重装Matrix包
直接执行带强制参数的安装命令,跳过重启提示:install.packages("Matrix", dependencies = TRUE, force = TRUE, type = "binary")若二进制包安装无效,利用已安装的Rtools从源码编译:
install.packages("Matrix", dependencies = TRUE, force = TRUE, type = "source")彻底清理旧版本残留
- 卸载当前Matrix包:
remove.packages("Matrix") - 关闭所有R/RStudio窗口,手动删除Matrix的安装目录:
- Windows:
C:\Program Files\R\R-x.x.x\library\Matrix(替换x.x.x为你的R版本号) - Mac:
/Library/Frameworks/R.framework/Versions/x.x/Resources/library/Matrix - Linux:
/usr/lib/R/library/Matrix
- Windows:
- 重新打开RStudio,执行上述重装命令
- 卸载当前Matrix包:
干净启动后重装
按住Ctrl+Shift+Enter打开RStudio(不加载任何自定义脚本和已安装包的干净启动模式),直接执行重装命令,完成后加载包:library(Matrix),再测试lmer/glmer验证Rtools环境配置
执行Sys.getenv("PATH")检查Rtools路径是否存在,若未找到,手动添加(以Rtools40为例):Sys.setenv(PATH = paste("C:/rtools40/usr/bin", Sys.getenv("PATH"), sep = ";"))添加后再尝试源码安装Matrix
内容的提问来源于stack exchange,提问作者siewe winters
相关产品推荐
相关产品推荐

