Dr.*_*ike 2 warnings r plyr package-development r-package
我有一个类似但不同的问题,当我的ggplot2语法合理时,如何处理R CMD检查"没有可见的全局变量绑定"注释?.
在那种情况下,通过使用aes_string而不是aes,一切都顺利进行.然而,这与plyr afaik无法实现.
例如,当我通过ddply引用数据框中的列名时会出现问题.
ddply(mydf, .(VarA, VarB, VarC, VarD), summarize, sum = sum(VarE))
#
# MyPackage: no visible binding for
# global variable ‘VarA’
Run Code Online (Sandbox Code Playgroud)
这段代码是完全有效和理智的,即使我理解使用NOTE,它们仍然会混淆输出窗口中的其他消息,使得包开发变得困难,并且实际上强制开发人员忽略NOTE.
摆脱这些笔记的正确方法是什么?或者替代方案是什么是以R CMD检查接受而不给出NOTE的方式编写代码的正确方法?
最好,迈克尔
有几种解决方法.最简单的方法是只分配NULL所有没有可见绑定的变量.
VarA <- VarB <- VarC <- VarD <- VarE <- NULL
Run Code Online (Sandbox Code Playgroud)
更优雅的解决方案是使用as.quoted和substitute.由@Dr更新.迈克:as.quoted需要封装的电话c().
ddply(mydf,
as.quoted(c('VarA', 'VarB', 'VarC', 'VarD')),
summarize,
sum = sum(substitute(VarE)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
135 次 |
| 最近记录: |