处理可选包依赖关系的正确方法

时间:2013-03-21 11:11:52

标签: r package dependency-management

在我正在开发的软件包中,提供了几种不同的估算方法。通常,这些都取决于其他软件包提供的功能(在某些情况下,具有版本要求)。

到目前为止,我只是简单地将所有这些软件包放在我的描述文件的“依赖”部分,但是我自己的软件包现在“依赖”的软件包数量,即使大多数用户只有其中一个将永远是相关的,所以我希望只能根据需要安装/加载包?关于编写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的任何实际尝试之前可能会有很多准备工作,如果最终没有正确的包,那么这将全部丢失。

您能否建议如何正确处理此问题并尽可能方便用户使用?

0 个答案:

没有答案