我在正在开发的R包上运行"str_trim"
时收到错误[找不到函数check()
]。我已经添加了两件事:
1) In DESCRIPTION
Imports: stringr
2) In NAMESPACE
importFrom(stringr,str_trim)
但是,当我运行install()
和document()
时,NAMESPACE中的行将被删除。然后,当我再次运行check()
时,我收到原始错误。
为什么这条线被移除?我应该尝试不同的方法,如果是这样,采用何种方法?谢谢!
答案 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不易实现的。