[英]R: assign a value in a upper-level function
可能是一個簡單的問題,但我自己卻無法解決,使用環境並進行范圍界定仍然使我感到困惑。
我有一個函數,嵌套在一個函數中。 我想要實現的是從其父級中的嵌套函數中分配一個值(使用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
另外,如果我有一個函數,嵌套在一個函數中,嵌套在一個函數中,嵌套在一個函數中,等等,並且我想從哪個最低級別的函數中分配值,該怎么辦?
兩點。 在使用y
計算之前,需要運行f1()
。 assign
函數的x
參數采用字符。
myfun <- function(m) {
f1 <- function() {
assign(x = "y", value = 2, envir = parent.frame())
}
f1()
m*3*y
}
myfun(5)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.