r - R CMD 检查中的全局变量注释没有可见绑定(bind)

标签 r package

我注意到在检查一个包时,当我使用像 subset 这样使用列表元素的逐字名称作为参数的函数时,我得到了注释“全局变量没有可见的绑定(bind)”。

例如使用数据框:

foo <- data.frame(a=c(TRUE,FALSE,TRUE),b=1:3)

我可以做一些愚蠢的事情,例如:

subset(foo,a)
transform(foo,a=b)

按预期工作。然而,R CMD 中的 R 代码检查不理解这些引用元素,并提示没有任何可见的全局变量绑定(bind)。

虽然这工作正常,但我不太喜欢在我的包中添加注释,并且更喜欢它在没有错误、警告和注释的情况下通过检查。我也不想过多地修改我的代码。有没有办法编写这些代码,以便清楚地表明参数不引用全局变量?

最佳答案

要使其通过 R CMD 检查,您可以:

  • 使用get("b")(但这很麻烦)
  • a=b=NULL 放在函数中更高的位置(这就是我所做的)

不久前,r-devel 上有一个帖子,来自 r-core 的人基本上说(凭内存)“注释没问题,你知道。假设作者检查了它并且对注释没问题。” 。但是,我同意你的观点。我确实更喜欢让 CRAN 检查在所有平台上返回干净的“OK”。这样用户就可以毫无疑问地通过检查。

编辑:

这是r-devel thread我记得(从2010年4月开始)。因此,这似乎表明在某些情况下没有已知的方法来避免注释,但没关系。

关于r - R CMD 检查中的全局变量注释没有可见绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8096313/

相关文章:

Python 相当于 R 的 mclapply()

r - 在 Shiny [R] 中上传 CSV 文件后执行操作

R:levelplot(轮廓中缺少一些值)

package - 如何更新正在开发的 Julia 包中的依赖项

python - 总结在 R 或 Python 中赢得最后 N 场比赛中的 X 场的所有方法

r - Stata 的宏观等价物

android - android应用程序的包名应该是什么?

java - 如何编译 Java 源文件?

python - 将模块转换为包时出错

java - "package"和 "module"有什么区别?