编辑:哈德利威克姆指出我错过了.R CMD检查是投掷NOTES,而不是警告.我非常抱歉这种混乱.这是我的疏忽.
R CMD check每次我在ggplot2中使用合理的绘图创建语法时都会抛出此注释:
no visible binding for global variable [variable name]
Run Code Online (Sandbox Code Playgroud)
我理解为什么R CMD检查会这样做,但它似乎将整个其他合理的语法定为犯罪.我不知道采取什么措施来让我的包裹通过R CMD check并获准进入CRAN.
Sascha Epskamp之前基本上发布了相同的问题.我认为,不同之处在于它的手册subset()页说它是专为交互式使用而设计的.
就我而言,问题还没有结束,subset()而是超出了一个核心特征ggplot2:data =争论.
JitteredResponsesByContrast <- function (data) {
return(
geom_point(
aes(
x = x.values,
y = y.values
),
data = data,
position = position_jitter(height = 0, width = GetDegreeOfJitter(jj))
)
)
}
Run Code Online (Sandbox Code Playgroud)
R CMD …
我在Ubuntu 14上使用R 3.0.2.我在代码中进行了一些繁重的计算,并尝试了"编译器"包
compilePKGS(enable=TRUE)
enableJIT(3)
Run Code Online (Sandbox Code Playgroud)
它似乎加快了我的代码.非常好!
但每次我的软件包启用"编译器"时,我都会收到很多笔记
Note: no visible binding for global variable '.Data'
Run Code Online (Sandbox Code Playgroud)
或类似于我自己的S4对象(代码中的"obj @ result"):
Note: no visible binding for global variable 'result'
Run Code Online (Sandbox Code Playgroud)
例如,它是自制S4对象的一部分.添加setCompilerOptions("suppressAll", TRUE)或setCompilerOptions("suppressUndefined", TRUE)没有帮助.当我完全停用编译器包时,根本不会弹出任何注释,所以这可能是我对compiler-package/jit的理解有问题?
我该怎么做来压制这些笔记?
编辑:
require(compiler)
compilePKGS(enable=TRUE)
enableJIT(3)
setClass(Class = "testobject",
slots = c( data = "numeric",
test = "character",
split = "numeric",
name = "character"
)
)
a <- new("testobject", data=c(1,2,3,4), test="TEST", split=5, name="NAME")
for(i in a@data){
print(i)
}
Run Code Online (Sandbox Code Playgroud)
简单的例子产生
Note: no visible binding for global variable '.Data'
Note: …Run Code Online (Sandbox Code Playgroud)