R CMD 检查:全局变量没有可见绑定(在包中使用数据/数据集时)

R CMD check: no visible binding for global variable (when using a data/ dataset in the package)

之前有人问过这个问题的版本略有不同,但我还没有看到好的答案。

我使用非常好的 ggplot2 源代码进行了一个非常简单的重现:

进入 ggplot2/R/ 中的任何文件并添加引用 ggplot2/data/diamonds.r.

中包含的 "diamonds" 数据集的行

然后尝试build/check包,(即:R CMD build .; R CMD check --as-cran ggplot2_3.0.0.9000.tar.gz

在我的任意示例中,我将 diamonds 添加到 theme.r 中的第 436 行,并在尝试检查时收到此注释:

* checking R code for possible problems ... NOTE
plot_theme: no visible binding for global variable ‘diamonds’
Undefined global functions or variables:
  diamonds

我 运行 在我们要提交给 CRAN 的包中遇到了这个问题。据我所知,我们通过在我们的 R/ 代码中使用 data/ourdataset.r 然后 "ourdataset" 来遵循最佳实践。然而,我们遇到了这个 NOTE 失败。

我们做错了什么?如果这个 NOTE 出现在像 ggplot2 这样的包中,我不知道我们是做错了什么还是应该在 CHECK 中修复。到目前为止,CHECK 一直很棒,但我对这个感到难过。

谢谢!

通常,要删除该注释,您只需添加如下引用:

ggplot2::diamonds