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」沒有被定義,這就是爲什麼你會得到這個錯誤。 –