我在判断一个包时注意到,当我使用像subset这样的函数,使用列表元素的逐字名称作为参数时,我得到的注释是"全局变量没有可见的绑定".

例如,对于数据帧:

foo<-数据帧(a=c(真、假、真),b=1:3)

我可以做一些愚蠢的事情,比如:

subset(foo,a)
transform(foo,a=b)

正如预期的那样.然而,R CMD中的R代码签入并不理解这些引用元素,并抱怨没有任何可见的全局变量绑定.

虽然这一切正常,但我真的不喜欢在我的软件包中有注释,我更希望它通过判断,没有任何错误、警告和注释.我也不想太多地修改我的代码.有没有一种方法可以编写这些代码,这样就可以清楚地看到参数不涉及全局变量?

推荐答案

要想超过R CMD check,你可以:

  • 使用get("b")(但这很繁重)
  • 在你的功能中把a=b=NULL放在更高的位置(我就是这么做的)

不久前r-devel上有一个帖子,r-core的一个人(从记忆中)基本上说:"笔记没问题,你知道.假设作者判断了它,并且对笔记没问题.".但是,我同意你的看法.我更喜欢所有平台上的CRAN判断都返回一个干净的"OK".这样用户就毫无疑问地通过了判断ok.

编辑:

这是我记得的r-devel thread条(从2010年4月开始).因此,这似乎表明,在某些情况下,没有已知的方法可以避免注释,但这没关系.

R相关问答推荐

按自定义数字模式对变量名称排序

有没有一种方法可以在子包上使用‘library()’中的‘exclub’参数?

更改网格的crs以匹配简单要素点对象的crs

如何创建构成多个独立列条目列表的收件箱框列?

使用ggcorrplot在相关性矩阵上标注supertitle和index标签

如何使用R Shiny中的条件面板仅隐藏和显示用户输入,同时仍允许运行基础计算?

在不安装软件包的情况下测试更新

当月份额减go 当月份额

从BRM预测价值

使用R闪光显示所有数据点作为默认设置

线性模型斜率在减少原始数据时提供NA

以相同的方式对每个表进行排序

仅在R中的数据集开始和结束时删除所有 Select 列的具有NA的行

列名具有特殊字符时的循环回归

将数据集旋转到长格式,用于遵循特定名称模式的所有变量对

为什么我对圆周率图的蒙特卡罗估计是空的?

使用来自嵌套列和非嵌套列的输入的PURRR:MAP和dplyr::Mariate

根据r中另一个文本列中给定的范围对各列求和

使用ifElse语句在ggploy中设置aes y值

如何在内联代码中添加额外的空格(R Markdown)