0
可能是一个简单的问题,但我无法自己弄清楚,使用环境和范围确定仍然困惑着我。R:在上层函数中赋值
我有一个函数,嵌套在一个函数中。我试图做到的,是分配一个值(使用assign
功能,我已阅读,使用<<-
可能是危险的),在其父的嵌套函数,并用它还有:
myfun <- function(m) {
m*3*y
f1 <- function() {
assign(x = y, value = 2, envir = parent.frame())
}
f1()
}
然而,错误是返回:
Error in myfun(m = 5) : object 'y' not found
另外,如果我有一个函数,嵌套函数嵌套在一个函数,嵌套函数等,我想选择其中上层指派该值从最低级别的功能?
函数(m)中的变量'y'是什么? –
@Carles Mitjans:'y'取值为2,在函数'f1'中定义。 – panman
在“myfun”的第一行中,“m * 3 * y”,“y”没有被定义,这就是为什么你会得到这个错误。 –