Question

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?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top