从Matlab呼叫R [英] Calling R from Matlab
本文介绍了从Matlab呼叫R的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我以前可以通过系统调用从Matlab调用R:
I used to be able to call R from Matlab with a system call:
system('"/usr/bin/R" --no-save < myscript.R')
但是,现在,使用Matlab R2012b和R版本3.0.0(2013-04-03)-面具奇迹",即使从外壳程序运行时一切正常,加载库时也会出现错误.我正在运行MacOSX 10.6.8.
But now, using Matlab R2012b and R version 3.0.0 (2013-04-03) -- "Masked Marvel", I get errors when loading libraries, even though everything work just fine when I run it from the shell. I am running MacOSX 10.6.8.
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object'/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so, 6):
Symbol not found: __gfortran_pow_r8_i4
Referenced from: /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
Expected in: /Applications/MATLAB_R2012b.app/sys/os/maci64/libgfortran.2.dylib
in /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
During startup - Warning message:
package 'stats' in options("defaultPackages") was not found
推荐答案
在调用R脚本之前未设置环境变量DYLD_LIBRARY_PATH
:
Unset environment variable DYLD_LIBRARY_PATH
before calling R script:
>> !/usr/bin/Rscript ms.R
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.0/Resources/library/stats/libs/stats.so, 6): Symbol not found: __gfortran_pow_r8_i4
Referenced from: /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
Expected in: /Applications/MATLAB_R2013a.app/sys/os/maci64/libgfortran.2.dylib
in /Library/Frameworks/R.framework/Versions/3.0/Resources/lib/libRlapack.dylib
During startup - Warning message:
package 'stats' in options("defaultPackages") was not found
Error: could not find function "rnorm"
Execution halted
>> !unset DYLD_LIBRARY_PATH; /usr/bin/Rscript ms.R
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
-0.09727 0.03573
这篇关于从Matlab呼叫R的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文