这个问题来自一系列其他问题,这些问题基本上都处理相同的问题。出于某种奇怪的原因,在另一个函数中使用一个函数有时会失败,因为在第一个函数的本地环境中定义的变量在第二个函数中找不到。
伪代码中的经典模式:
ff <- function(x){
y <- some_value
some_function(y)
}
ff(x)
eval(expr,envir,enclos)中的错误:找不到对象'y'
首先,我认为它与 S4 方法和其中的范围有关,但它也与其他函数有关。我与 R 开发团队进行了一些互动,但他们所做的只是将我引导到错误报告网站(我不得不说,这不是最吸引人的网站)。我从来没有得到任何反馈。
随着问题不断出现,我想知道是否有逻辑解释。在所有这些情况下,这是一个常见的错误吗?如果是,是哪一个?或者它真的是一个错误?
其中一些问题:
- 使用函数和环境
- 使用 transformBy() 的 R(统计)范围错误,它是 doBy 包的一部分。
- 如何在 R 的函数中使用 acast (reshape2)?
- 为什么我不能将数据集传递给函数?
- 值未复制到下一个本地环境
PS:我知道 R-devel 列表,以防你想知道......