我需要使用Rscript通过bash shell运行多个脚本,而我使用的某些功能需要功能isGeneric。但是,在这种情况下,过程结束(例如):

Error in .getLogLik() : could not
find function "isGeneric"
Calls: main -> dredge -> .getLik -> .getLogLik
Execution halted


可以复制如下

# in the bash shell
echo "isGeneric('apply')" > /tmp/test.R
Rscript /tmp/test.R


结果:

Error: could not find function "isGeneric"
Execution halted


但是,如果我们打开R会话并键入以下内容,则它可以工作:

# in the R shell
isGeneric('apply')
[1] FALSE


您知道问题出在哪里以及如何解决吗?

最佳答案

根据help(Rscript)Rscript默认情况下不会加载方法包,因为这很耗时。因此,您需要在命令行上指定它:

Rscript --default-packages=methods file.R


library(methods)在要调用的文件的顶部。

关于r - Rscript找不到功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19468506/

10-12 17:23