在我正在开发的一个包中,提供了几种不同的估计方法。通常,这些中的每一个都取决于其他包提供的功能(在某些情况下,具有版本要求)。
到目前为止,我只是将所有这些包放在我的描述文件的“依赖”部分,但是我自己的包现在“依赖”的包的数量,即使对于大多数用户来说,只有其中一个是相关的,所以我希望只能根据需要安装/加载软件包?关于编写 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 之前可能会进行大量准备工作,如果最终没有正确的包,这些准备工作将全部丢失。
您能否建议如何正确处理此问题并尽可能方便用户使用?