关于 Graphics::curve() 在 R CMD 检查中的注释



我在自己的包中使用以下代码。

graphics::curve( foo (x) )

当我运行R CMD检查时,它说以下注释。如何删除NOTE

> checking R code for possible problems ... NOTE
foo: no visible binding for global variable 'x'
Undefined global functions or variables:
x

编辑答案:

我尝试如下答案。

function(...){
utils::globalVariables("x")
graphics::curve( sin(x) )
}

但它没有奏效。所以,...,现在,我使用以下代码,而不是

function(...){
x <-1 # This is not used but to avoid the NOTE, I use an object "x".
graphics::curve( sin(x) )
}

最后一个代码可以删除注释。

Huuum,我想,答案是正确的,但是,我不确定,但它对我不起作用。

两件事:

  1. utils::globalVariables("x")
    

    这可以添加到它自己的文件中(例如,globals.R),或者(我的技术)添加到包含该代码的文件中。

    在多个文件中包含相同的命名变量不是错误,因此在删除一个(而不是另一个)引用时,同一文件技术将防止您意外删除它。来自帮助文档:">同一包中的重复调用会累积全局变量的名称"。

    这必须独立于任何函数声明(顶级)。虽然它包含在包源中(它需要包含在包源中,以便对CHECK过程产生影响),但除此之外对包没有影响。

  2. importFrom(utils,globalVariables)
    

    到你的包NAMESPACE文件,因为你现在正在使用那个函数(除非你想要另一个关于在全局环境中找不到的对象的CHECK警告:-)。

最新更新