首页 > 解决方案 > 全局变量和函数行为

问题描述

在我的一个包上运行R CMD check会引发关于未定义全局函数或变量的注释。考虑以下示例:

mypackage: no visible binding for global variable 'a'
mypackage: no visible global function definition for '.'
mypackage: no visible binding for global variable 'b'
Undefined global functions or variables:
   . a b

a并且bforeach循环中的迭代器:

x <- foreach::foreach(a = A) %dopar% {some code}
y <- foreach::foreach(b = B) %do% {some code}

点用于stats::update

formula <- stats::update(formula, ~ . - 1)

这一切都很好,它R CMD check需要修复,而不是包。然而,除非我克服了这个注释,否则存储库维护者拒绝接受这个包。他建议检查utils::globalVariables,我阅读了该函数的文档和各种讨论。我不清楚的是是否utils::globalVariables(c("a", ".", "b"))会以某种方式干扰我的包裹的其余部分?它会影响foreach循环的行为或结果stats::update吗?

标签: rforeachpackageglobal-variables

解决方案


推荐阅读