为R包编写函数时,应该避免进行非标准评估吗?

Pau*_*eux 5 r dplyr

使用R CMD测试软件包的代码时,请使用非标准评估" no visible binding for global variable ..."为dplyr函数内使用的每个变量显示以下注释:例如,如果我使用

cars %>% mutate(speedplusone = speed +1)
Run Code Online (Sandbox Code Playgroud)

R CMD检查将给出注释:

no visible binding for global variable speed
Run Code Online (Sandbox Code Playgroud)

删除这些注释的问题已经被询问过,Hadley给出了答复,可以选择使用标准评估重写调用或通过调用伪造这些变量的存在globalVariables()

根据Hadley的回答,我可以使用标准评估来删除那些R CMD Check注释,替换mutatemutate_

cars %>% mutate_(speedplusone = ~speed +1)
Run Code Online (Sandbox Code Playgroud)

我是否应该重写软件包中的所有dplyr函数调用,以完全避免非标准评估?