问题
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