问题
I need to run several scripts via the bash shell using Rscript
and some functions I use require the function isGeneric
. However, in this case the process end like that (for example):
Error in .getLogLik() : could not
find function "isGeneric"
Calls: main -> dredge -> .getLik -> .getLogLik
Execution halted
This can be reproduced as follows
# in the bash shell
echo "isGeneric('apply')" > /tmp/test.R
Rscript /tmp/test.R
Result:
Error: could not find function "isGeneric"
Execution halted
However, if we open a R session and type the following, it works:
# in the R shell
isGeneric('apply')
[1] FALSE
Would you know where the problem comes from and how to fix it?
回答1:
According to help(Rscript)
, Rscript
doesn't load the methods package by default, because it's time-consuming. So you either need to specify it on the command line:
Rscript --default-packages=methods file.R
Or library(methods)
at the top of the file you're calling.
来源:https://stackoverflow.com/questions/19468506/rscript-could-not-find-function