小编Mar*_*arc的帖子

使用编译器包并禁止"全局变量没有可见绑定"

我在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)

r package

7
推荐指数
1
解决办法
1324
查看次数

标签 统计

package ×1

r ×1