我正在为我的一个包装写一个小插图。
在这个小插图中,我想演示一下这个软件包如何与{strong} 1}}或NAMESPACE
部分 导入的otehr软件包进行交互。 Imports
档案。
所以,我正在调用DESCRIPTION
来在我的插图中使用这些外部包,但当我尝试require
包时,我当然得到了以下NOTE
:< / p>
R CMD check
有没有解决方法,或者我应该导入这些外部包还是使用* checking for unstated dependencies in vignettes ... NOTE
‘library’ or ‘require’ call not declared from: ‘RColorBrewer’
“假冒”小插图?
答案 0 :(得分:28)
将其放入Suggests:
文件的DESCRIPTION
。
从p。 R extensions manual中的6个:
'Suggests'字段使用与'Depends'和列表相同的语法 不一定需要的包裹。这包括使用的包 仅在示例,测试或小插曲中(参见第1.4节[编写包 小插图],第26页),以及在函数体中加载的包。 例如,假设包
foo
中的示例使用包中的数据集bar
。然后,除非有人愿意,否则没有必要bar
使用foo
执行所有examples / tests / vignettes:拥有bar
非常有用, 但没必要。可以指定版本要求,并且将是 由R CMD check
使用。
答案 1 :(得分:4)
此外,如果小插图正确依赖于该包,则应该有
% \VignetteDepends{...}
小插图中的声明:Sweave, Part II: Package Vignettes, R News 3/2 (Oct. 2003), 21 - 24.
但是,你的情况可能有点不同:
我使用if (require ("pkgxy"))
时没有% \\VignetteDepends{pkgxy}
(无论如何需要说明Suggests: pkgxy
)我要展示的一些内容但是我不想强迫用户拥有所有内容建议的pacakges安装。我在小插图的开头放了一个方框,我在其中报告哪些包可用,如果在构建小插图时没有包,则需要“pkgxy来执行此操作”文本放入小插图。
"introduction" vignette of package hyperSpec就是一个例子(要了解其实际运作方式,您不仅需要the .Rnw,还需要some more definitions)。