gpt4 book ai didi

r - 在我的包中使用例如 ddply 时,如何摆脱 R CMD 检查生成的注释?

转载 作者:行者123 更新时间:2023-12-01 23:14:57 25 4
gpt4 key购买 nike

我遇到了与 How can I handle R CMD check "no visible binding for global variable" notes when my ggplot2 syntax is sensible? 类似但又不同的问题.

在这种情况下,使用 aes_string 而不是 aes 一切都会顺利进行。然而,这对于 plyr afaik 来说是不可能的。

例如,当我通过 ddply 引用数据框中的列名称时,就会出现问题。

ddply(mydf, .(VarA, VarB, VarC, VarD), summarize, sum = sum(VarE))
#
# MyPackage: no visible binding for
# global variable ‘VarA’

这段代码是完全有效和理智的,即使我理解注释的使用,它们仍然会扰乱输出窗口中的其他消息,使包开发变得痛苦,实际上迫使开发人员忽略注释。

消除这些笔记的正确方法是什么?或者,以 R CMD 检查接受而不给出注释的方式编写代码的正确方法是什么?

最好,迈克尔

最佳答案

有几种解决方法。最简单的方法是将 NULL 分配给所有没有可见绑定(bind)的变量。

VarA <- VarB <- VarC <- VarD <- VarE <- NULL

更优雅的解决方案是使用 as.quotedsubstitute。由@Dr更新。 Mike:对as.quoted的调用需要用c()封装。

ddply(mydf, 
as.quoted(c('VarA', 'VarB', 'VarC', 'VarD')),
summarize,
sum = sum(substitute(VarE)))

关于r - 在我的包中使用例如 ddply 时,如何摆脱 R CMD 检查生成的注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28851812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com