当我在正在开发的 R 包上运行 check()
时,我收到错误 [无法找到函数 "str_trim"
]。此后我添加了两件事:
1) In DESCRIPTION
Imports: stringr
2) In NAMESPACE
importFrom(stringr,str_trim)
但是,当我运行 install()
和 document()
时,NAMESPACE 中的行将被删除。然后,当我再次运行 check()
时,我收到原始错误。
为何删除此行?我应该尝试不同的方法吗?如果可以,采用什么方法?谢谢!
最佳答案
看来您正在“Hadley 方式”进行包开发。
Hadley 希望您使用 roxygen(即 roxygen2 软件包,但如果您使用他的“开发工具”,这应该是自动的)。
然后,roxygen“魔法”用于自动写入您的 NAMESPACE
文件……因此也会破坏您放在那里的东西。
如果您想使用 roxygen,则必须将 @importFrom
.... 语句添加到 R/*.R 文件中。
我同意哈德利提倡的许多事情;然而,“氧气”的大规模使用并不在其中。
我想要良好的、精心维护的帮助文件,其中包含\link{}、\eqn{} 等
-> 我编辑我的 man/*.Rd
文件并手动构建 NAMESPACE (所以它最终看起来组织良好,我还可以在那里添加注释,我什至可以使用
if(getRVersion() >= "3.2.0") {
...... }
在 NAMESPACE
文件中,不是这样的用氧气很容易实现。
关于r - NAMESPACE 中的 ImportFrom 函数在 document() 上被删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31792995/