r - NAMESPACE 中的 ImportFrom 函数在 document() 上被删除

标签 r import namespaces package devtools

当我在正在开发的 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/

相关文章:

PHP XML 使用命名空间从父级获取子变量

r - 在 dplyr 中跨列过滤

python - Python 中的猴子修补会影响直接导入吗?

python - 如何将 Python 标识符转换为数字?

MySQL 比较现有记录

node.js - 如何配置 .babelrc 以支持 ES6 模块导入和异步/等待?

c++ - 愚蠢的 C++ 语法尚未声明

r - 如何在 dplyr group_by 中使用 if/if else

r - 将N列的数据框转换成两个 'stacked'列的数据框

r - 更改轴 x 标签中的名称plot_model