在指定的堆栈帧上运行函数

时间:2015-08-04 11:41:20

标签: r

我正在尝试在指定的堆栈帧上执行函数。

如果在此帧上声明了函数,则成功执行,但如果我试图在另一帧上运行函数,则解释器会给出这样的错误:

Error: attempt to apply non-function

例如:

> f1 <- function(x) {
+ x + 1
+ }
> x <- c(100:110)
> sys.frame(0)$f1(x) -- OK
 [1] 101 102 103 104 105 106 107 108 109 110 111
> debug(f1)
> f1(c(1:10))
debugging in: f1(c(1:10))
debug at #1: {
    x + 1
}
Browse[2]> n
debug at #2: x + 1
Browse[2]> sys.frame(1)$f1(x) -- FAIL
Error: attempt to apply non-function

你能告诉我如何解决这个问题吗?

0 个答案:

没有答案