我的问题是Rmd在 RStudio 中运行一个完美地运行所有块,但是编织(到 html 文档)遇到一个模糊的错误。
为了进行调试,我sessionInfo()在常规 R 会话和Rmd加载相同包的 clean 中运行。
唯一的区别是 R 会话说
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
而Rmd输出sessionInfo()是:
BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
这可能是一个问题,还是 RStudio 中的 R 会话使用与 RMarkdown 不同的 BLAS 是否正常?
在了解 BLAS 时,我读到它是 call 的结果,extSoftVersion()["BLAS"]这里记录并说:
BLAS 的二进制/可执行文件的名称可以用来指示正在使用的实现。通常,BLAS 的 R 版本将显示为 libR.so (libR.dylib)、R 或 libRblas.so (libRblas.dylib),具体取决于 R 的构建方式。请注意,对于已由系统管理员复制、硬链接或重命名的外部 BLAS 实现,也可能会显示 libRblas.so (libRblas.dylib)。对于外部 BLAS,将给出一个共享对象文件,其路径/名称可能指示供应商/版本。检测在 Windows 上不起作用。
FWIW 我试图简单地将工作的 BLAS 移动到不工作的 BLAS 的位置(删除不工作的文件),但我得到了
dyld: Library not loaded: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.dylib
Referenced from: /Library/Frameworks/R.framework/Resources/bin/exec/R
Reason: image not found