【发布时间】:2015-11-11 05:39:48
【问题描述】:
我正在使用 devtools::check() 对我正在编写的包运行 R CMD 检查,并且在检查中遇到以下注意事项:
* checking R code for possible problems ... NOTE
prep: no visible global function definition for 'one_of'
我在prep() 中使用one_of 的唯一地方是这一行:
raw_data <- dplyr::select(raw_data, -one_of(drop_vars))
有谁知道我该如何解决这个NOTE?
下面是我的DESCRIPTION 和NAMESPACE 文件。
任何帮助将不胜感激
这是我的DESCRIPTION 文件的样子:
Package: prepdat
Title: xxx
Version: 0.0.0.9000
Authors@R: person("Ayala S.", "Allon", email = "ayalaallon@gmail.com", role = c("aut", "cre"))
Description:xxx
Depends: R (>= 3.0.3)
License: GPL-3
LazyData: true
Imports: dplyr (>= 0.4.2),
reshape2 (>= 1.4.1),
psych(>= 1.5.4)
Suggests: knitr,
testthat
这是我的NAMESPACE 文件的样子
importFrom(dplyr,"%>%")
importFrom(psych,"harmonic.mean")
exportPattern("^[^\\.]")
【问题讨论】:
-
您是否在函数上方添加了
@import dplyr标签?我认为这是定义one_of函数的地方。如果使用@import语句,则不需要在select前面定义dplyr::。 -
@drmariod 感谢您的评论。你能澄清你的意思吗?我使用
-one_of的代码行是一个更大函数中的一行。我应该在我的大函数之前添加一行@import dplyr吗?谢谢!阿亚拉 -
也许尝试也导入包
lazyeval然后使用select_(iris, interp(~-one_of(x), x = drop_vars))
标签: r global-variables dplyr devtools