私が開発中のパッケージでは、いくつかの異なる見積もり方法が提供されています。通常、これらのそれぞれは、他のパッケージによって提供される機能に依存します (場合によっては、バージョン要件があります)。
今までは、それらすべてのパッケージを記述ファイルの「依存」セクションに単純に入れてきましたが、ほとんどのユーザーにとって、そのうちの 1 つだけが依存するにもかかわらず、現在、自分のパッケージが「依存」しているパッケージの数は多くなっています。関連するので、必要な場合にのみパッケージをインストール/ロードできることを望んでいましたか? R パッケージの作成に関するドキュメントは少し簡潔で、最近の R バージョンから多少変更されていることがあります。
説明のために、これは典型的なパターンです:
doSomethingImportant<-function(params, workerFunction)
{
#blabla
workerFunction(partofparams)
#moreblabla
}
そして、私は持っているだろう
wfA<-function(partofparams)
{
#use something from package A
}
と
wfB<-function(partofparams)
{
#use something from package B
}
そして、ユーザーはこの関数を次のように呼び出します。
result<-doSomethingImportant(params, wfA)
通常、各ユーザーはいずれかの wfX を好みます。理想的には、ユーザーが (最初に) wfX のいずれかを使用するときに、オンデマンドでインストール/ロードしたいと考えていますが、それが不可能な場合は、失敗するという警告をできるだけ早く表示したいと考えています (実際、私の場合、doSomethingImportant から workerFunction を実際に呼び出そうとする前に、多くの準備が行われる可能性があります。最終的に適切なパッケージがまだ存在しない場合、これらはすべて失われます。
これを適切に処理し、できるだけユーザーフレンドリーにする方法を提案できますか?