Question Rscript n'a pas pu trouver de fonction


Je dois exécuter plusieurs scripts via le shell bash en utilisant Rscript et certaines fonctions que j'utilise nécessitent la fonction isGeneric. Cependant, dans ce cas, le processus se termine comme ça (par exemple):

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

Cela peut être reproduit comme suit

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

Résultat:

Error: could not find function "isGeneric"
Execution halted

Cependant, si nous ouvrons une session R et que nous tapons ce qui suit, cela fonctionne:

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

Savez-vous d'où vient le problème et comment y remédier?


13
2017-10-19 16:50


origine


Réponses:


Selon help(Rscript), Rscript ne charge pas le package de méthodes par défaut, car il prend beaucoup de temps. Vous devez donc soit le spécifier sur la ligne de commande:

Rscript --default-packages=methods file.R

Ou library(methods) en haut du fichier que vous appelez.


22
2017-10-19 16:53