在文档()中删除NAMESPACE中的ImportFrom函数

时间:2015-08-03 17:09:51

标签: r import namespaces package devtools

我在正在开发的R包上运行"str_trim"时收到错误[找不到函数check()]。我已经添加了两件事:

1) In DESCRIPTION
Imports: stringr

2) In NAMESPACE
importFrom(stringr,str_trim)

但是,当我运行install()document()时,NAMESPACE中的行将被删除。然后,当我再次运行check()时,我收到原始错误。

为什么这条线被移除?我应该尝试不同的方法,如果是这样,采用何种方法?谢谢!

1 个答案:

答案 0 :(得分:10)

看来你正在进行包装开发" Hadley方式"。 Hadley希望你使用roxygen(例如roxygen2包,但如果你使用他的'devtools'那应该是自动的)。 然后,roxygen"魔法"用于自动编写您的NAMESPACE文件...因此也会破坏您放置的内容。 如果要使用roxygen,必须将@importFrom ....语句添加到R / *。R文件中。

我同意哈德利提倡的许多事情;批发使用' roxygen'然而,他们并不在其中。 我希望使用\ link {} s,\ eqn {}等提供良好,精心维护的帮助文件 - >我编辑我的man/*.Rd文件并手动构建NAMESPACE(所以它看起来组织得很好,我也可以在那里添加注释,我甚至可以使用 在if(getRVersion() >= "3.2.0") {文件中} ...... NAMESPACE,这是roxygen不易实现的。