这是我在函数中调用 ffwhich 的代码:
library(ffbase)
rm(a,b)
test <- function(x) {
a <- 1
b <- 3
ffwhich(x, x > a & x < b)
}
x <- ff(1:10)
test(x)
Error in eval(expr, envir, enclos) (from <text>#1) : object 'a' not found
traceback()
6: eval(expr, envir, enclos)
5: eval(e)
4: which(eval(e))
3: ffwhich.ff_vector(x, x > a & x < b)
2: ffwhich(x, x > a & x < b) at #4
1: test(x)
它可能是由懒惰的评估引起的? eval() 找不到在函数测试中有界的 a 和 b。如何在函数中使用 ffwhich?
最佳答案
是的,它看起来像 Arun 所指出的 eval 问题。在使用 ffwhich 时,我通常使用以下内容,这类似于 eval。
library(ffbase)
rm(a,b)
test <- function(x) {
a <- 1
b <- 3
idx <- x > a & x < b
idx <- ffwhich(idx, idx == TRUE)
idx
}
x <- ff(1:10)
test(x)
关于R ff ffbase ff 函数调用中的哪个错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14065551/