Rのパッケージに複数の関数が含まれています(すべてエクスポートされています)。関数の1つが実行中に内部的に別の関数を呼び出します。しかし、私はパッケージ全体をロードせずに、名前空間を経由してこの機能を実行すると、それはエラーがスローされます:「関数を見つけることができませんでした..」名前空間から関数を呼び出すときに関数が見つからない
は、例えばの場合: foo
とbar
は2つの機能があります。 foo
はbar
を内部で呼び出します。しかし、foo
を名前空間で呼び出すと、mypackage::foo()
はcould not find function "bar"
というエラーが発生します。ライブラリを最初にロードし、ネームスペース経由で実行すると、正しく実行されます。
#doesnot work
mypackage::foo()
could not find function "bar"
#works
library(mypackage)
mypackage::foo()
NAMESPACEファイルには、両方の関数がエクスポートされていますが、両方ともエクスポートされています。
この問題を回避する方法はありますか?あるいは、この 'bar'関数をエクスポートせずに内部関数として作るだけですか? – PoisonAlien
あなたはいつも関数のコードを見て、コピーを編集してmypackage ::: other_funcを使って依存関係を呼び出すことができます。 –