14

を使用してbashシェルを介していくつかのスクリプトを実行Rscriptする必要があり、使用する一部の機能には関数が必要です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

問題がどこから来て、それを修正する方法を知っていますか?

4

1 に答える 1

23

によるとhelp(Rscript)Rscript時間がかかるため、デフォルトではメソッド パッケージをロードしません。したがって、コマンドラインで指定する必要があります。

Rscript --default-packages=methods file.R

またはlibrary(methods)、呼び出しているファイルの先頭にあります。

于 2013-10-19T16:53:15.427 に答える